質問: テーマのアクティブ化時にサイドバーにウィジェットが追加されないようにするにはどうすればよいですか? 私は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に追加されます http://prntscr.com/l9cx84 私はそれらを間違った方法で登録していますか?任意の助けは大歓迎です。
回答: ウィジェットは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 ); } あなたはあなたのテーマ起動フックでこれをすることができます。