Отменить регистрацию боковой панели с темы Child-Theme

Мне нравится использовать детскую тему.

Родительские функции.php

function starkers_widgets_init() { // Area 1, located at the top of the sidebar. register_sidebar( array( 'name' => __( 'Primary Widget Area', 'starkers' ), 'id' => 'primary-widget-area', 'description' => __( 'The primary widget area', 'starkers' ), 'before_widget' => '<li>', 'after_widget' => '</li>', 'before_title' => '<h3>', 'after_title' => '</h3>', ) ); // Area 2 ... 

Моя дочерняя тема functions.php

 function xtreme_unregister_sidebar() { unregister_sidebar('primary-widget-area'); } add_action( 'childtheme_sidebars', 'xtreme_unregister_sidebar' ); 

Но он не работает.
благодаря

Проверьте приведенный ниже код, я думаю, что он должен работать.

 add_action( 'after_setup_theme', 'remove_default_sidebars', 11 ); function remove_default_sidebars(){ remove_action( 'widgets_init', 'starkers_widgets_init' ); } 

Заголовок этого сообщения предназначен для незарегистрированных виджетов, а не боковых панелей, хотя я рад, что пользователь получил то, что искал. Для тех, кто ищет, как отменить регистрацию виджетов с использованием дочерней темы, где виджет был зарегистрирован в родительской теме, вы можете сделать это с помощью этого:

Предполагая, что виджет родительской темы зарегистрирован на крюке widgets_init, все, что вам нужно сделать, это обернуть вызов unregister_widget () внутри функции, перехватить эту функцию в widgets_init и присвоить вашему крюку более высокий приоритет, чем widgets_init-hooked для родительской темы функция.

Предполагая, что родительская тема перехватывает widgets_init без указания номера приоритета, функция по умолчанию будет равна 10. Таким образом, просто назначьте свой крюковый вызов приоритетом 11 или выше.

так что-то вроде этого:

 add_action( 'widgets_init', 'remove_theme_widgets', 11 ); function remove_theme_widgets() { unregister_widget('parent_theme_widget_class'); } 

Source