WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top
if ( function_exists('register_sidebar') )
        "name" => "Top Widget Area",
        "id" => "topWidgetArea-$i",

I just create a new sidebar with this.
I'm displaying this sidebar in my header.php like this:

<?php dynamic_sidebar( "Top Widget Area" ); ?> 

It's displaying no problem and I can put every widget to my sidebar in wp-admin's Appearance → Widgets page. When I refresh this widgets page, all the widgets (which are in the Top Widget Area) are disappearing. I'll explain it with a video. Please check: http://screenr.com/szG8

share|improve this question
up vote 2 down vote accepted

Changing widget's ID from topWidgetArea to top-widget-area solved my problem. Widget ID must have hypen. I tried a lots of variations for ID (like testtesttest, asdasdasd, widgetareaaa) . I'm not sure, why .

share|improve this answer
No capitals are allowed either. – MrJD Jun 29 '12 at 5:01

You are not allowed capitals that is why it doesn't work.

Use a name like this-dynamic-sidebar or this_dynamic_sidebar. It should be the same name used when you registered the sidebar.

share|improve this answer
That is not exactly true. I have have used capital letters in my theming for sidebars and have had no problems. To me with this site it seems to me to be a caching issue. – Nicole Oct 18 '12 at 18:14

It is the variable $i that is the issue, causing probably a php error because it is not defined.

Just had the same issue. Removing the id prams solved the issue.

share|improve this answer

Parameters for register_sidebar, from http://codex.wordpress.org/Function_Reference/register_sidebar#Parameters:

id - Sidebar id - Must be all in lowercase, with no spaces (default is a numeric auto-incremented ID).

Hyphens and underscores are not required. Just no uppercase, no spaces.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.