Не срабатывает remove_action или remove_filter в дочерней теме Вордпресс при попытки удалить хуки родительской темы

добавить код на сайт

Решил через function.php дочерней темы удалить хук родительской темы, прописав примерно remove_action( 'wp_head', 'my_function', 20 ); и увы… не тут-то было. Удаление не сработало.
В используемой мной в родительской теме определены хуки, которые хочется удалить в дочерней. Ну не зря же их там делали. И я по логике предположил, что можно просто вставить remove_action в function.php дочерней темы и все будет ОК.
Правда в том, что это не сработало.

Погуглив, оказалось, что function.php дочерней темы загружается перед function.php родительской темы. А значит удаление хука произойдет перед его добавлением, в общем он удаляется и потом опять добавляется.

И что делать?

Да просто, мне надо удалить хук зацепив его на хук, который будет выполнятся после определения хука родительской темы.

Естественно, есть такой хук init. Поэтому сделал так:

function FunctionRemove(){
remove_action( 'wp_head', 'my_function', 20 );
}
add_action( 'init','FunctionRemove' );

Таким кодом, при помощи function.php дочерней темы, я удалил хук my_function, который и был определен в родительской теме.
Проверяю, все работает.
Можете и Вы использовать данный метод.

2 комментария к “Не срабатывает remove_action или remove_filter в дочерней теме Вордпресс при попытки удалить хуки родительской темы”

  1. Геннадий

    У меня почему-то не работает. Может я что-то не так сделал? Создал в дочерней теме папку woocommerce, в неё положил файл arhive-product, после чего в functions.php дочерней темы попытался удалить хук.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Пролистать наверх