Hilfe zusätzliche Sidebar

  • Ich bräuchte mal die Hilfe von jemandem. Ich weiß, dass das Thema schon mehrfach gepostet wurde allerdings finde ich in den entsprechenden Threads keine Antwort auf meine Frage.

    Ich möchte für eine bestimmte Seite eine individuelle dynamische Sidebar bestimmen.

    Ich habe dazu einfach die Standard sidebar.php aus dem Standard Wordpress Theme, welches ich zur Zeit noch benutze kopiert und entsprechend umbenannt in sidebar-2.php.

    Hier die Codes:

    sidebar.php

    <?php
    /**
    * @package WordPress
    * @subpackage Default_Theme
    */
    ?>
    <div id="sidebar" role="complementary">
    <ul>
    <?php /* Widgetized sidebar, if you have the plugin installed. */
    if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(1) ) : ?>
    <li>
    <?php get_search_form(); ?>

    sidebar-2.php

    <?php
    /**
    * @package WordPress
    * @subpackage Default_Theme
    */
    ?>
    <div id="sidebar" role="complementary">
    <ul>
    <?php /* Widgetized sidebar, if you have the plugin installed. */
    if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(2) ) : ?>
    <li>
    <?php get_search_form(); ?>

    function.php

    if ( function_exists('register_sidebar') ) {
    register_sidebar(array(
    'before_widget' => '<li id="%1$s" class="widget %2$s">',
    'after_widget' => '</li>',
    'before_title' => '<h2 class="widgettitle">',
    'after_title' => '</h2>',
    ));
    }

    if ( function_exists('register_sidebar') )
    register_sidebar(array('2' => 'Sidebar 2'));


    Jetzt soll man nur noch in der index.php die Zuordnung zu einer Seite realisieren wie ich gelesen habe hatte folgende Zeile eingefügt:

    <?php if(is _page(’Name der Seite’)) : get_sidebar(’Second Right Sidebar’)) : else : get_sidebar(’Right Sidebar’)); ?>

    Nun bekomme ich aber immer die Fehlermeldung:

    Parse error: syntax error, unexpected T_STRING in /home/www/......../wp-content/themes/default/index.php on line 43

    Ich weiß allerdings auch nicht wie der "Name der Seite" auszusehen hat einfach die web-adresse nach der domain? und welcher name der Sitebar?

    Bitte guckt Euch mal den Code an und gebt mir einen Hinweis danke

    • 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

  • Ok ein bisschen unübersichtlich vielleicht mein post hab jetzt festegestellt wenn ich in der index.php

    <?php get_sidebar(2); ?> setze dann wird meine zweite sidebar problemlos geladen aber ich möchte dies ja nur für eine spezielle seite und zwar für http://www.domain.de/abcd-dddddddd-ddddddd/ .

    Ist diese Zeile überhaupt so richtig?
    <?php if(is _page(’Name der Seite’)) : get_sidebar(’Second Right Sidebar’)) : else : get_sidebar(’Right Sidebar’)); ?>

  • Ok Page ID ist notwendig hab ich rausgefunden so gehts aber immer noch nicht:

    <?php if(is_page(261)): get_sidebar(2)) : else : get_sidebar()); ?>

    was ist falsch?

  • <?php if(is_page('261')) { ?>
    <?php get_sidebar(2); ?>
    <?php } else { ?>
    <?php get_sidebar(1); ?>
    <?php } ?>

    So funktioniert es leider auch nicht. Ich weiß nicht mehr weiter.

  • <?php if(is_page('261')) { ?>
    <?php get_sidebar(2); ?>
    <?php } else { ?>
    <?php get_sidebar(1); ?>
    <?php } ?>

    So funktioniert es leider auch nicht. Ich weiß nicht mehr weiter.

    Das seltsame ist wenn ich die sidebar nummern tausche also

    <?php if(is_page('261')) { ?>
    <?php get_sidebar(1); ?>
    <?php } else { ?>
    <?php get_sidebar(2); ?>
    <?php } ?>

    dann funktioniert es.... nur ist es so natürlich nicht gewollt.

  • Folgendes, die Zuordnung funktioniert grundsätzlich so:

    <?php if(is_page('261')) { ?> <?php get_sidebar('1'); ?> <?php } else { ?> <?php get_sidebar('2'); ?> <?php } ?>

    Allerdings ist nicht nur die Seite mit der ID 261 mit der sidebar(2) versehen sondern ebenso alle Kategorien/Themen Seiten.

    Der Standard sidebar.php mußte ich allerdings eine 2 einfügen statt der 1.....:
    if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(2) ) : ?>
    sonst funktioniert es überhaupt nicht.

Jetzt mitmachen!

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