Sidebar-Widget wird nach einer einfachen Codeaktualisierung nicht angezeigt.

Ich habe ein Sidebar-Widget registriert und anschließend die Registrierung geändert, einschließlich der Änderung des registrierten Namens des Widgets. Jetzt wird das Widget überhaupt nicht angezeigt. Unten sind die Schritte, die ich gemacht habe.

  1. Ich habe ein Sidebar-Widget in meiner functions.php-Datei registriert.

    if (function_exists('register_sidebar') ){ register_sidebar( array('name' => 'Right Sidebar') ); } 
  2. Auf meiner Vorlagenseite habe ich dann die entsprechenden Aufrufe für das Widget eingefügt, so …

      ...some html...  
  3. Dann, nachdem ich etwas Codex gelesen habe (ich bin ein Noob) , habe ich beschlossen, ein bisschen mehr aufzuräumen und alle Parameter von register_sidebar () zu testen, also …

  4. In functions.php änderte ich den Aufruf von oben zu diesem (der direkt aus dem Codex übernommen wurde ):

     if (function_exists('register_sidebar') ){ register_sidebar(array( 'name' => 'RightSideBar', 'id' => 'right-sidebar', 'description' => 'Widgets in this area will be shown on the right-hand side.', 'before_title' => '

    ', 'after_title' => '

    ' )); }
  5. Ich ging dann zu Admin> Appearance und, sicher, das neue und verbesserte Sidebar-Widget zeigte, war aber leer. Also habe ich ein paar Widgets hinzugefügt.

  6. Ich habe dann die Seite im Browser getestet: Keine Widgets. Nur der Standard-Markup, den ich hinzugefügt habe.

  7. Ich habe den Code überprüft. Sieht zu meinen noob Augen aus.

  8. Also habe ich beschlossen, die Änderungen rückgängig zu machen und zum vorherigen Code zurückzukehren (siehe Schritt 1).

  9. Zu meinem Erstaunen waren im Admin alle vorherigen Einstellungen noch vorhanden (Sidebar, Widgets und alle)! Außerdem wurden die Widgets direkt auf der Seite angezeigt.

  10. Dann habe ich den neuen Code wieder hinzugefügt (siehe # 4) und dasselbe: Alle Widgets, die ich der neuen und verbesserten Version hinzugefügt habe, wurden auch gespeichert (irgendwo in der database, aus irgendeinem Grund über meine Gehaltsstufe hinaus) und zeigten auch ( im Admin-Bereich, aber NICHT auf der Seite).

  11. Dies führt zu der Frage: Muss ich (irgendwie) das Sidebar-Widget abmelden? (Da die DB anscheinend diese Werte “irgendwo” speichert).

  12. Ein bisschen mehr Graben zog diese kleine function auf: unregister_sidebar ($ id) ;

  13. Muss ich das wirklich benutzen? Mein ursprüngliches Ziel war es, die Sidebar komplett umzubenennen und zu aktualisieren.

Also … Ich brauche einen Hinweis: D

Vielen Dank,

Schläfer

Solutions Collecting From Web of "Sidebar-Widget wird nach einer einfachen Codeaktualisierung nicht angezeigt."

  1. Wenn Sie die anderen Einstellungen von register_sidebar nicht benötigen, ist das in Ordnung.

  2. Das ist nicht gut. 🙂 Um Ihre Sidebar zu rendern, müssen Sie anrufen

      dynamic_sidebar($index); 

    In Ihrem Fall wäre es:

      dynamic_sidebar('Right Sidebar'); 

    Siehe die Codex-Seite für die dynamische Sidebar http://codex.wordpress.org/Function_Reference/dynamic_sidebar

    Dein aktueller Code sagt (kurze Version): Wenn es keine Seitenleiste gibt, dann tu meinen benutzerdefinierten Code. Schauen Sie sich die Beispiele auf der verlinkten Seite an.

  3. übersprungen

  4. Wenn Sie diese Einstellungen für eine Seitenleiste benötigen, verwenden Sie sie, aber beachten Sie, und das passierte auf Ihrer Sidebar / Widget-Konfigurationsseite, als Ihre alte Seitenleiste verschwand.

Wenn Sie eine Sidebar mit einer ID registrieren, sucht WordPress in der database nach dieser ID. Wenn Sie nur eine Sidebar mit einem Namen registrieren, sucht WordPress nach dem Namen.

Ihre ID unterscheidet sich vom ursprünglichen Namen und es gab keinen Eintrag für eine Sidebar mit dieser ID. Der Name wird ignoriert, wenn eine ID festgelegt wird.

Hoffnung, die die Dinge ein wenig klarer macht.