WordPress Theme: Widget Area hinzufügen

WordPress Widget Areas sind eine ideale Möglichkeit neue Bereiche in der Webseite (korrekt im jeweiligen WordPress Theme) zu schaffen, um Inhalte (auch optional) einzufügen oder später zu bearbeiten.

What is Widgetizing?

Widgetizing is a pseudo word that describes the process of implementing Widgets and Widget Areas into your Theme.

Ursprünglich war das Widgetizing für die Blog-Sidebar gedacht, es ist jedoch an jeglicher Stelle im Theme möglich, durch eine Widget Area einen neuen Platzbereich zu schaffen. In dieser Widget Area können alle zur Verfügung stehenden Widgets (Text-Widget, Individuelle Menüs oder andere spezielle Widgets von externen Plugins) integriert werden.

WordPress Widget Area registrieren

register_sidebar( 
  array(
    'name' => __( 'New Widget Area', 'textdomain' ),
    'id' => 'new-widget-area',
    'description' => __('Description of the Area. Output in Backend.', 'textdomain'),
    'before_widget' => '<section id="%1$s" class="widget %2$s new-area-class">',
    'after_widget' => '</section>',
    'before_title' => '<h2 class="widget-title widgettitle new-area-title-class">',
    'after_title' => '</h2>'
  )
);

Sobald dieses Snippet in die functions.php des Themes eingefügt ist, steht dieser neue Widget Bereich im Backend unter Themes > Widgets für alle angelegten Widgets bereit und kann mit diesen gefüllt werden. Von diesen Dynamic Sidebars können unzählig viele registriert werden, allerdings mit eigener ID (intern wichtig) und Namen (dieser wird im Backend ausgegeben). Eine Beschreibung und weitere Parameter (class, before_widget etc.) können optional ergänzt werden.

Widget Area im Theme ausgeben

Die Widget Area (Dynamic Sidebar) kann im Theme in die verschiedenen Templates (z.B. sidebar.php, header.php oder footer.php) mit folgendem Snippet platziert werden. Mit der if-Bedingung vorweg wird geprüft, ob die Sidebar aktiv ist, also ein Widget enthalten ist.

<?php if ( is_active_sidebar( 'new-widget-area' ) ) : ?>
  <?php dynamic_sidebar( 'new-widget-area' ); ?>
<?php endif; ?>

Du hast Tipps, Vorschläge oder Fragen dazu? Dann schreibe uns einen Kommentar unter diesen Beitrag!

Quellen und Links

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nur zur Sicherheit * Time limit is exhausted. Please reload CAPTCHA.