Sidebar 2 wird nicht für Widgets angezeigt

  • Vorab: Ich kann HTML, CSS aber kein PHP - nur das ihr bescheid wisst :)

    Hallo Leute,

    ich habe das Theme Simplish auf meinem Blog und wollte es jetzt mit einer zweiten Sidebar versehen. Die Sidebar ist auch da aber im WP-Admin bereich, wo man die Widgets verwaltet, wird nur die Sidebar 1 angezeigt.

    Ich habe in der functions.php Datei die zweite Sidebar angegeben:

    PHP
    ...
    /* Widget Sidebar */
    if(function_exists('register_sidebars'))
        register_sidebar(2);
    ...

    Wenn in der functions Datei nur das steht:

    PHP
    <?php
    if ( function_exists('register_sidebars') )
    register_sidebars(3);
    ?>

    Dann geht es, aber dann werden andere Fehler angezeigt und außerdem ist der Rest des codes den der Macher geschrieben hat, weg und das hat, soweit ich das enschlüsselt habe, nichts mit den Widgets zu tun.

    Hier ist mal die Original functions.php Datei:

    Muss ich noch irgendwo anders festlegen das es zwei Sidebars gibt?

    Ich danke für die Hilfe

    lg, double-H

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ich hab's selber noch nicht gemacht, aber wenn du hier mal schaust:
    Widgetizing Themes Automattic
    musst Du ein mal angeben:
    [LEFT]

    PHP
    <?php
    if ( function_exists('register_sidebars') )
    register_sidebars(2);
    ?>

    [/LEFT]
    Du musst also register_sidebar ersetzen und mit der 2 gibst Du an, dass es 2 sidebars gibt.
    Hiermit registrierst Du 2 Sidebars mit dem Namen Sidebar 1 und Sidebar 2

    PHP
    register_sidebars(2, array('name'=>'Sidebar %d'));

    Dann musst du die einzelnen Sidebars noch mit dynamic_sidebar() aufrufen.

    PHP
    <?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar('Sidebar 1') ) : else : ?>

    Danach kommt noch der Code falls ohne widgets... gleiches für sidebar 2 wiederholen

  • Ich poste Dir mal, wie das in meinem Theme azufgesetzt ist:

    Aus der functions.php:

    PHP
    // add two sidebars for the widgets functionality (won't be displayed unless configured)
    if (function_exists('register_sidebar')) {
      // register the left sidebar
      register_sidebar(array('name' => 'left'));
      
      // register the right sidebar
      register_sidebar(array('name' => 'right'));
    }

    In dem übergebenen Array kann man bei Bedarf auch noch andere Einstellungen treffen, siehe Codex.

    Und in der sidebar.php muss die zweite Sidebar natürlich auch eingebunden sein, mit dynamic_sidebar('left') bzw. dynamic_sidebar('right'). Je nach Theme kannst Du das einfach so aufrufen (ggf. mit function_exists('dynamic_sidebar') prüfen dass es kein Uralt-WP ist) oder mit !dynamic_sidebar('left') alternativ eine fest konfigurierte Sidebar in die sidebar.php schreiben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!