Widgets-Bereiche im WordPress-Theme anlegen

4. Dezember 2014 Keller-H 0 Kommentare

Widget-Bereiche anlegen

Der übliche Weg ein Theme widget-fähig zu machen ist das Bereitstellen sogenannter Widget-Areas. Dies sind Bereiche in denen die im WordPress enthaltenen oder von Plugins bereitgestellten Widgets über das Backend in den Seiten plaztiert werden könnnen.

Widget-Areas werden in der functions.php über die Funktion register_sidebar registriert. Diese wiederum wird mit dem Action-Hook widgets-init eingebunden.

Das Beispiel legt einen Widgetbereich my_widget_area als div-Container mit einer h2-Überschrift an und versieht beide mit CSS-Klassen.

function my_widgets_init() {
   register_sidebar( array(
      'name' => 'My Widget Area',
      'id' => 'my_widget_area',
      'description' => 'Mein Widget Bereich',
      'class' => 'my-widget-area',
      'before_widget' => '<div>', 
      'after_widget' => '</div>', 
      'before_title' => '<h2 class="my-widget-area-title">',
      'after_title' => '</h2>'
   ) );
} 
add_action( 'widgets_init', 'my_widgets_init' );

Wigets im Theme anzeigen

Mit der Funktion dynamic-sidbar kann nun der Widget-Bereich im Theme plaziert werden.

<?php if ( is_active_sidebar( 'my_widget_area' ) ) : ?>
   <div id="sidebar-content">
      <?php dynamic_sidebar( 'my_widget_area' ); ?>
   </div>
<?php endif; ?>

Im Backend unter Design->Widgets steht nun der neue Bereich zur Verfügung.