Intereting Posts
Получение самых последних сообщений из нескольких категорий MU-плагины не загружаются – нужна помощь Лучший способ создать поиск по типу персонализированного пользовательского значения поля Настройка темы – не может добавлять раздел / настройки Измените расположение add_theme_support ('custom-header') в настройке Возвращаемая функция значения поля ACF Ключ action_post не дает post_meta_data Заказ по ASC, DESC, Название, Дата с URL-адреса на странице персонализированного шаблона страницы Проблемы с пользовательской плагиной администратора Пользовательский дополнительный элемент Metabox Можно ли использовать страницы для применения статического контента к каждому уровню таксономии? Изменить функцию wp_sanitize? Разрыв результатов цикла Отображать метаданные пользователя из текстового поля в виде форматированного текста Как сделать шаблон страницы, чтобы перечислить все галереи?

remove_action on after_setup_theme не работает с дочерней темой

Я пытаюсь удалить тему для темы из элегантных тем, используя дочернюю тему. Это работает, когда я удаляю действие после кода add_action в любом месте родительской темы functions.php. Однако он не работает, когда я добавляю его из дочерней темы functions.php.

remove_action ('after_setup_theme', 'et_pb_setup_theme' , 10); 

Удалить действие имеет тот же приоритет 10, что и действие добавления. Разве это не работает?

 add_action( 'after_setup_theme', 'et_pb_setup_theme' ); //parent theme add_action 

Solutions Collecting From Web of "remove_action on after_setup_theme не работает с дочерней темой"

Как уже указывал @cybmeta, вы слишком рано снимаете. Поэтому вам нужно отложить фактическое удаление, например, так:

 add_action( 'after_setup_theme', 'wpdev_170663_remove_parent_theme_stuff', 0 ); function wpdev_170663_remove_parent_theme_stuff() { remove_action( 'after_setup_theme', 'et_pb_setup_theme' ); } 

Файл functions.php дочерних тем загружается непосредственно перед родительской темой functions.php, поэтому при запуске remove_action в дочерней теме действие, которое вы пытаетесь удалить, не существует beacuse, которое добавляется позже.

Попробуйте (просто измените имена):

 add_action( 'init' , 'myyy_remove' , 15 ); function myyy_remove() { remove_action('ACTION_NAME', 'my_function_name_Something' ,11); remove_action('ACTION_NAME', 'my_function_name_Another' ,11); }