Um die Sidebar zu integrieren und diese "Widget­fähig" zu machen benötigen wir zunächst die Funktion register_sidebar. Dies wird ähnlich wie bei den Naviga­tionen in der functions.php gemacht.

<!-- Sidebars -->
<?php
add_action( 'widgets_init', 'mo_register_sidebar' ); //Name kann frei gewählt werden
function mo_register_sidebar() { //muss hier der Selbe sein
    register_sidebar( array(
        'name' => 'sidebar-1', //Name im Backend
        'id' => 'sidebar-1', //ID für Template tag
        'description' => 'Haupt-Seitenleiste', //Beschreibung für Seitenleiste im Backend
        'before_widget' => '<div id="%1$s" class="widget %2$s">', //Code der vor dem Widget ausgeführt wird
        'after_widget'  => '</div>', //Code der nach dem Widget ausgeführt wird
        'before_title'  => '<h5 class="widgettitle">', //Code der vor dem Titel ausgeführt wird
        'after_title'   => '</h5>', //Code der nach dem Titel ausgeführt wird
    ) );
}
//body class no-sidebar
 function mo_no_sidebar( $classes ) {
 if ( ! is_active_sidebar( 'sidebar-1' ) ) {
 $classes[] = 'no-sidebar';
 }
 return $classes;
 }
 add_filter( 'body_class', 'mo_no_sidebar' );
?>

Damit die Widgets welche wir im Backend hinzu­fügen auch angezeigt werden, muss die Sidebar im Markup noch wie Template tag eingefügt werden. Dieser Template tag lautet dynamic_sidebar. Üblicher­weise wird dieser im <aside> Element in der sidebar.php eingefügt. Beispiels­weise könnte dies dann so aussehen.

<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?><!--Prüft ob die Sidebar Widgets enthält. ID muss in der functions.php registriert sein.-->
<aside class="site-sidebar">
 <?php dynamic_sidebar( 'sidebar-1' ); ?><!--ID muss in der functions.php registriert sein.-->
</aside>
<?php endif; ?>