Individuelle Sidebars sind ein wunderbares Mittel, diese mit perfekt auf die jeweilige Kategorie abgestimmten Infos oder Werbemitteln zu füllen. Welche Möglichkeiten ihr habt, individuelle Sidebars in WordPress zu nutzen, erklären wir euch in diesem Artikel.
Verschiedene Sidebars in WordPress: die Möglichkeiten
Ihr habt grundlegend zwei verschiedene Möglichkeiten, auf Posts und Seiten unterschiedliche Sidebars anzeigen zu lassen.
- via Plugin
- ohne Plugin
Für welche Option ihr euch entscheidet ist egal, denn wir erklären euch beide. Mit Plugins geht es meist schneller und einfacher. Ohne Plugin spart ihr euch hingegen wieder eine Erweiterung, die sich möglicherweise schlecht auf die Performance auswirkt.
Plugin für Custom Sidebars
Ein beliebtes Plugin ist das Custom Sidebars von WPMU DEV. Nach der Installation des Plugins könnt ihr im WordPress Dashboard unter Design → Widgets neue Sidebars erstellen und diese zuweisen. An welchen Stellen die Sidebar ausgespielt werden soll, legt ihr mit einem Klick auf Anzeigeoptionen fest, nachdem ihr die Sidebar erstellt habt. In folgendem Video wird dieser Ablauf ziemlich gut erklärt:
Außerdem könnt ihr in jedem einzelnen Post und auf jeder einzelnen Seite die Sidebar individuell festlegen. Diese Einstellung “überschreibt” dann für den spezifischen Post die Einstellungen, die ihr für die jeweilige Kategorie im Widget-Menü festgelegt habt.
Zum Plugin: Custom Sidebars – Dynamic Widget Area Manager
Individuelle Sidebars ohne Plugin erstellen
Um individuelle Sidebars ohne Plugin zu erstellen, müsst ihr zuerst einmal in die functions.php rein. Hinterlegt dort folgenden Code:
<?php if (function_exists('register_sidebar')) { register_sidebar(array( 'name' => 'Test Sidebar', 'id' => 'sidebar-test', 'description' => 'Widgets der Test Sidebar', 'before_widget' => '<div class="box">', 'after_widget' => '</div>', 'before_title' => '<div class="sidebartitle">', 'after_title' => '</div>' ));} ?>
Nun könnt ihr die Sidebar entweder über eine sidebar.php oder direkt in die single.php oder index.php eures Themes einflechten. Dafür fügt ihr einfach folgenden Code in die jeweilige Datei ein:
<?php if(get_post_meta($post->ID, 'sidebar', true)){ if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-'.get_post_meta($post->ID, 'sidebar', true)) ) : endif; }else{ if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-standard') ) : endif; } ?> (Bei den Codeschnipseln haben wir uns bei https://www.netz-gaenger.de/blog/wordpress-tutorials/wordpress-sidebar-pro-seite-oder-beitrag-wahlen/ bedient.)
Durch diesen Code wird nun immer geprüft, ob bei der jeweiligen Seite bzw. dem jeweiligen Post ein benutzerdefiniertes Feld existiert, das den Titel “Sidebar” trägt. Ist dies nicht der Fall, wird die Standard-Sidebar ausgespielt. Habt ihr ein benutzerdefiniertes Feld für den/die Post/Page angelegt, wird hingegen die individuelle Sidebar angezeigt, die ihr zuvor in der functions.php angelegt habt.
Erstellt ihr einen neuen Beitrag oder eine neue Seite müsst ihr jetzt erst einmal die benutzerdefinierten Felder aktivieren. Das geht über einen Klick auf “Ansicht anpassen” (ganz oben rechts) und ein gesetztes Häkchen bei “Benutzerdefinierte Felder”.
Wichtig: Nutzt ihr den Gutenberg Editor, müsst ihr momentan noch auf folgendes Plugin zurückgreifen, um benutzerdefinierte Felder in Posts/Pages hinzuzufügen. Der neue Editor sieht diese nämlich nicht mehr vor.
Zum Plugin: Custom Fields for Gutenberg
Erstellt nun ein neue benutzerdefiniertes Feld mit dem Namen “sidebar”. Als Wert hinterlegt ihr den Namen der Sidebar, den ihr auf dieser Seite oder in diesem Post anzeigen lassen wollt. In unserem Beispiel haben wir dieser den Namen “Test Sidebar” verliehen.
Lasst uns wissen, ob ihr individuelle Sidebars nutzt und welche Variante ihr für die Integration verwendet. Hinterlasst dazu gerne ein Kommentar.