Проблема с несколькими, динамическими, боковыми панелями – первая боковая панель не работает должным образом

Это моя функция:

function ec_register_sidebars() { register_sidebars( 3, array( 'name' => 'Sidebar %d', 'id' => "sidebar-$i", 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '', 'after_title' => '' ) ); 

Это не работает :

 <?php if ( is_active_sidebar( 'Sidebar 1' ) ) : ?> <?php dynamic_sidebar( 'Sidebar 1' ); ?> <?php else : ?> No primary sidebar content <?php endif; ?> 

НО, если я изменю * is_active_sidebar * на «Боковую панель 2» или «Боковую панель 3», он будет работать. Например, это работает :

 <?php if ( is_active_sidebar( 'Sidebar 2' ) ) : ?> <?php dynamic_sidebar( 'Sidebar 1' ); ?> <?php else : ?> No primary sidebar content <?php endif; ?> 

Я не понимаю, почему это так. Есть идеи?

Solutions Collecting From Web of "Проблема с несколькими, динамическими, боковыми панелями – первая боковая панель не работает должным образом"

похоже, что у вашего атрибута имени отсутствует аспект sprintf. эта строка должна читать

 'name' => sprintf(__('Sidebar %d'), $i ), 

иначе% d вообще не ссылается на $ i. Кроме того, похоже, что вы должны вызывать идентификатор боковой панели, а не имя. Имя просто для взглядов. Например, как только это исправлено, это может работать:

 <?php dynamic_sidebar( 'sidebar-1' ); ?>