Мне удалось выполнить решение fuxia при добавлении виджета по умолчанию на боковую панель нижнего колонтитула, но виджет не "активирован" (я должен удалить и вручную добавить его обратно на боковую панель нижнего колонтитула для виджет для работы, что делает заранее установленный код виджета бессмысленным). Я обнаружил, что виджет, добавленный вышеупомянутым решением, и тот же виджет, извлеченный из списка доступных виджетов, различаются. На рисунке ниже показаны различные значения href для элементов виджета в списке нижних колонтитулов. (Серые поля - это просто имя виджета)
Я не уверен, что это является причиной проблемы, но есть ли способ добавить виджет на боковую панель нижнего колонтитула И он работает / "активирован"?
РЕДАКТИРОВАТЬ: текущая реализация
add_action( 'widgets_init', function(){
register_widget( 'MyWidget' );
$sidebars = array ('a' => 'sidebar-1' );
foreach ( $sidebars as $sidebar ) {
register_sidebar(array (
'name' => 'Footer',
'id' => $sidebar,
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>'
));
}
$active_widgets = get_option( 'sidebars_widgets' );
if ( ! empty ( $active_widgets[ $sidebars['a'] ] )){
return; }
$counter = 1;
$active_widgets[$sidebars['a']][0] = 'my_widget-'.$counter;
update_option('sidebars_widgets',$active_widgets);
dynamic_sidebar('sidebar-1');
}