Исчезающие элементы виджета
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
4 answers
Изменение идентификатора виджета с topWidgetArea
на top-widget-area
решило мою проблему. Идентификатор виджета должен иметь дефис. Я перепробовал множество вариантов идентификатора (например testtesttest
, asdasdasd
, widgetareaaa
) . Я не уверен, почему.
Вам не разрешены заглавные буквы, поэтому это не работает.
Используйте имя, например this-dynamic-sidebar
или this_dynamic_sidebar
. Это должно быть то же имя, которое использовалось при регистрации боковой панели.
Проблема заключается в переменной $i
, которая, вероятно, вызывает ошибку php, поскольку она не определена.
Только что была та же проблема. Удаление детских колясок id
решило проблему.
Параметры для register_sidebar, из http://codex.wordpress.org/Function_Reference/register_sidebar#Parameters:
Идентификатор - Идентификатор боковой панели - Должен быть полностью в нижнем регистре, без пробелов (по умолчанию используется числовой идентификатор с автоматическим увеличением).
Дефисы и подчеркивания не требуются. Просто без прописных букв, без пробелов.