Registering a sidebar gives our theme an area where dynamic content can be added by Widgets and managed by the site owner using a drag an drop interface. This can include menus, custom HTML, Images and additional features introduced by Plugins.

In this post we’ll register a sidebar, that will then be assigned dynamic widgets and displayed on our site’s footer.

functions.php

Registering a sidebar adds the Widgets option to our Appearance menu which didn’t appear previously. By registering a sidebar we also enable this feature in the WordPress dashboard.

WordPress dashboard Widgets screen
WordPress Dashboard > Appearance > Widgets
Registering a sidebar
Register a Sidebar in functions.php
// Register a Sidebar
        register_sidebar(
                array(
                        'id'            => 'footer',
                        'name'          => __( 'Footer', 'textdomain' ),
                        'description'   => __( 'Displays in the footer on the left side', 'textdomain'),
                )
        );

View the complete functions.php file. Above is the portion added in this tutorial.

Once we’ve registered the sidebar we can assign content to our Footer widget.

Footer Widgets
Assigning Categories and Pages to the Footer widget

footer.php

Next we’ll want to display that sidebar so we’ll use the conditional tag is_active_sidebar() to check if any widgets have been assigned. If that check passes WordPress will display the widgets. By running a check such as this we prevent WordPress from adding empty HTMLtags to the page. This also helps us with accessibility later.

Assigning Widgets
// Assigns Footer Widget
if ( is_active_sidebar( 'footer' ) ) {
        dynamic_sidebar( 'footer' );
}

View the complete footer.php file. Above is the portion added in this tutorial.

The Desired Result

un-styled theme
Our theme is now ready to be tested for accessibility.

With our post content, two menus, and sidebar in place we’re ready to plan and test for accessibility before moving onto the design.


CC0
To the extent possible under law, Joseph Dickson has waived all copyright and related or neighboring rights to Building a WordPress Theme From Scratch. This work is published from: United States.