Suche Menü

WordPress unterschiedliche Sidebars nutzen

In einem WordPress-Theme mehrere Dynamische Sidebars und Widget-Bereiche nutzen

Um in einem WordPress-Theme eine Seitenleiste zu integrieren benötigt man eine „sidebar.php“, diese wird per

"<?php get_sidebar(); ?>"

oder

"<?php include("sidebar.php"); ?>"

an der Stelle in die Template-Datei eingebunden wo sie erscheinen soll.

Um im WordPress-Theme eine 2. Seitenleiste einzubinden, kopiert man die „sidebar.php“ und benennt sie um in beispielsweise „sidebar-xy.php“ diese Datei wird nun über

"<?php get_sidebar('xy'); ?>"

oder

"<?php include("sidebar-xy.php"); ?>"

ins Template integriert.

In WordPress mehrere dynamische Sidebars (Widget-Bereiche)

Im Beispiel habe ich statische Seiten und Artikel-Seiten (Blogeinträge) welche ich mit unterschiedlichen Widgets ausgeben will.

1. Schritt: Die Vorbereitungen in der functions.php.
Um die neue Sidebar auch Widgetfähig zu machen muss in der „funftions.php“ für die neue Sidebar einen eigenen Widgetbereich definiert werden.
Hierzu den Eintrag „register_sidebar“ suchen und kopieren, bei mir sieht der Eintrag folgendermaßen aus

register_sidebar( array (
		'name' => __( 'Main Sidebar'),
		'id' => 'sidebar-1',
		'description' => __( 'Widgets will appear in the main sidebar on posts and pages.'),
		'before_widget' => '<aside id="%1$s" class="widget %2$s">',
		'after_widget' => "</aside>",
		'before_title' => '<h3 class="widget-title">',
		'after_title' => '</h3>',
	) );

Den Code
’name‘ => __( ‚Main Sidebar‘),
umbenennen in
’name‘ => __( ‚ xy Sidebar‘),
und den Code
‚id‘ => ’sidebar-1′,
umbenennen in
‚id‘ => ’sidebar-2′,
Im Dashboard-Design-Widget sollte nun auf der rechten Seite die neue Sidebar vorhanden sein.
Auf diese Art kann man mehrere Widget fähige Sidebars im WordPress-Theme integrieren.

2. Schritt: Unterschiedliche Sidebar-Dateien
Als Erstes legt man ein neues Sidebar-Templates an, indem man die „sidebar.php“ kopiert und entsprechend umbenennt – beispielsweise in „sidebar-xy.php“.
Nun den Code der kopierten Datei ändern

<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?>
<div id="sidebar" class="widget-area">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</div><!-- #sidebar .widget-area -->
<?php endif; ?>

aus sidebar-1 wird sidebar-2

3. Schritt:
Im letzten Schritt braucht man noch die statischen Template-Dateien, in welche man die neue sidebar-2 integrieren kann.
Beispielsweise die „page.php“ kopieren und umbenennen in beispielsweise „template-xy.php“.
In den Kopf der Datei kommt dann folgender Code

<?php
/*
Template Name: xy
*/
?>

Der original Code
<?php get_sidebar(); ?> wird abgeändert in
<?php get_sidebar(xy`); ?> geht auch so
<?php include(„xy-sidebar.php“); ?>

Nun hat man eine statische Template-Datei mit einer Sidebar xy.
Erstellt man nun eine neue Seite und wählt als Template das Template xy kann man die Sidebar-xy mit Widgets bestücken.

Ich hoffe der Artikel war verständlich und hilfreich.