私はwidgets_init
に3つのサイドバーを登録しています
register_sidebar(array(
'name' => esc_html__('Left Sidebar','creatus'),
'id' => 'left',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<div class="widget_title_holder"><h3 class="widget-title">',
'after_title' => '</h3></div>',
));
// right sidebar
register_sidebar(array(
'name' => esc_html__('Right Sidebar','creatus'),
'id' => 'right',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<div class="widget_title_holder"><h3 class="widget-title">',
'after_title' => '</h3></div>',
));
// lateral header sidebar
register_sidebar(array(
'name' => esc_html__('Lateral header sidebar','creatus'),
'id' => 'lateral-header-sidebar',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<div class="widget_title_holder"><h3 class="widget-title">',
'after_title' => '</h3></div>',
));
きれいなWP install 6ウィジェットで初めてテーマをアクティブにすると、自動的にlateral-header-sidebar
に追加されます
私はそれらを間違った方法で登録していますか?
任意の助けは大歓迎です。
ウィジェットはwp_options
テーブルに格納されます(データベースのプレフィックスがwp_
であると仮定)。オプションを取得して、手動でウィジェットを削除することができます。
// Get all the associated widgets
$sidebar_widgets = get_option ( 'sidebars_widgets' );
// Check this specific sidebar
if ( isset( $sidebar_widgets [ 'lateral-header-sidebar' ] ) ) {
unset ( $sidebar_widgets [ 'lateral-header-sidebar' ] );
// Update the option
update_option ( 'sidebars_widgets', $sidebar_widgets );
}
あなたはあなたのテーマ起動フックでこれをすることができます。