if ( function_exists('register_sidebar') ) register_sidebar(array( "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
Changing widget’s ID from
top-widget-area solved my problem. Widget ID must have hypen. I tried a lots of variations for ID (like
widgetareaaa) . I’m not sure, why .
You are not allowed capitals that is why it doesn’t work.
Use a name like
this_dynamic_sidebar. It should be the same name used when you registered the sidebar.
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.
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.