58 | Adding a Custom Widget Area to a WordPress Template


The Codex has a chapter on how to add new widget areas (commonly referred to as ‘sidebars’) to a theme’s template: ‘Widgetizing Themes

This example here is to give you the direct code to add to functions.php and to the template of your theme.

First step: register the custom sidebar

– this goes into functions.php:

'name'         => 'Custom Widget Area',
'id'            => 'custom-widgets',
'description'   => 'a custom widget area',
'before_widget' => '<li id="%1$s">',
'after_widget'  => '</li>',
'before_title'  => '<h2>',
'after_title'   => '</h2>'    ));

Second step: the custom div with the dynamic ‘sidebar’

– this goes into the template at the location where you want the custom widget to appear:

<?php if ( is_active_sidebar( 'custom-widgets' ) ) : ?>
<div class="custom"><ul>
<?php if ( !dynamic_sidebar( 'custom-widgets' ) ) : ?>
<?php endif; ?>
<?php endif; ?>

The outer conditional statement makes sure that the custom div with the widget is only shown if there is actually an active widget in the custom area.

The most basic code to output the widget would be:

<?php dynamic_sidebar( 'custom-widgets' ); ?>

The parameter for registering the widget are taken from the example in the codex; you need to adapt them to fit the existing structure of your theme.
You will of course need to add some styles to format the new custom widget area according to your ideas;
for instance to style the title and to suppress the bullets:

.custom .widgettitle { font-family: arial, sans-serif; }
.custom ul { list-style-type: none; }
This entry was posted in Easy Coding for Wordpress, Tips & Tricks, WordPress and tagged , , , , . Bookmark the permalink.

12 Responses to Adding a Custom Widget Area to a WordPress Template

  1. Trey comments:

    These Best Running Shoes for High Arches Women are
    designed with a full length max air unit which allows for maximum protection during foot strike.
    With classifieds, one thing to do, as Craigslist recommends is buy local.
    The goal of various gym workouts for women should make sure that it will concentrate on body fat loss.

  2. Amna Chohan comments:


    Please guide me :)

    i am trying to add two widgets side by side like a boxes on the magazine layout into the content after the header section , so for that i have added two widgets and in the css i have given the float left to one and float right to other one but it’s not working ..

    i am pasting my code can you tell me where i am doing wrong ..

    For registration :

    ‘name’ => ‘Custom Widget Area’,
    ‘id’ => ‘custom-widgets’,
    ‘description’ => ‘a custom widget area’,
    ‘before_widget’ => ”,
    ‘after_widget’ => ”,
    ‘before_title’ => ”,
    ‘after_title’ => ” ));

    ‘name’ => ‘Custom Widget Area Second’,
    ‘id’ => ‘custom-widgets-second’,
    ‘description’ => ‘a custom widget area’,
    ‘before_widget’ => ”,
    ‘after_widget’ => ”,
    ‘before_title’ => ”,
    ‘after_title’ => ” ));

    In the theme :

    Css :
    .customcontent {

    .customslider {


  3. Rick comments:

    I’ve tried this on an old (Kubric?) child theme. I’m trying to use WP’s menu feature to install a drop-down navigation menu in the header of this site. Following your tutorial’s first step, I’ve got the Widgets page in the admin panel to show the new widget area, and I dropped the Custom Menu widget in there and selected my newly created menu within the widget. Then I added the code from your second step into the header.php file, directly below the original nav. Of course I changed the id to suit what I did in the functions.php file. But the custom menu just doesn’t appear at all.
    What could I have missed that would cause this menu to simply not show up?

    • alchymyth replies:

      do other widgets appear in the new header ‘sidebar’?
      to ask any question about troubleshooting WordPress problems, consider to join the WordPress support forum.

    • Simon replies:

      Over the past few months I have had about ten diefrefnt dreams about water slides. Sometimes they are in theme parks, sometimes at fairs, and once they were in some giant warehouse. It is never the same slide, either. Some are straight, some really curly, and sometimes they are tubes, but they are mostly open. In my dreams I ride the slides, usually with a friend, and it’s a lot of fun. I guess I just wondered if it meant anything about my inner self or whatever. Any thoughts?

  4. Patrick comments:

    is it possible to do this for the Kubrick theme?

    • alchymyth replies:

      the general code is independant of the used theme – only the location where you add the code will vary – and to get the formatting right might be complicated.

  5. Jan comments:

    I am trying to add a widget area to my header (website), but you mentioning a custom sidebar. can this also be done for the header?

  6. Pingback: WordPress Community Roundup for the Week Ending May 5 - Charleston WordPress User Group


    07/05/2012 | […] Adding a Custom Widget Area to a WordPress Template […]

Leave a Reply

Your email address will not be published.


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>