Исчезающие элементы виджета


if ( function_exists('register_sidebar') )
    register_sidebar(array(
        "name" => "Top Widget Area",
        "id" => "topWidgetArea-$i",
    ));

Я просто создаю новую боковую панель с этим.
Я отображаю эту боковую панель в своем header.php вот так:

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

Он отображается без проблем, и я могу разместить каждый виджет на своей боковой панели на странице Внешний вид wp-администратора → Виджеты. Когда я обновляю эту страницу виджетов, все виджеты (которые находятся в верхней области виджетов) исчезают. Я объясню это с помощью видео. Пожалуйста, проверьте: http://screenr.com/szG8

Author: stealthyninja, 2012-06-16

4 answers

Изменение идентификатора виджета с topWidgetArea на top-widget-area решило мою проблему. Идентификатор виджета должен иметь дефис. Я перепробовал множество вариантов идентификатора (например testtesttest, asdasdasd, widgetareaaa) . Я не уверен, почему.

 2
Author: Eray, 2012-06-16 23:26:42

Вам не разрешены заглавные буквы, поэтому это не работает.

Используйте имя, например this-dynamic-sidebar или this_dynamic_sidebar. Это должно быть то же имя, которое использовалось при регистрации боковой панели.

 0
Author: james, 2012-10-18 17:19:10

Проблема заключается в переменной $i, которая, вероятно, вызывает ошибку php, поскольку она не определена.

Только что была та же проблема. Удаление детских колясок id решило проблему.

 0
Author: mahatmanich, 2013-09-30 16:18:12

Параметры для register_sidebar, из http://codex.wordpress.org/Function_Reference/register_sidebar#Parameters:

Идентификатор - Идентификатор боковой панели - Должен быть полностью в нижнем регистре, без пробелов (по умолчанию используется числовой идентификатор с автоматическим увеличением).

Дефисы и подчеркивания не требуются. Просто без прописных букв, без пробелов.

 0
Author: P-S, 2013-09-30 22:19:41