Решил через 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, который и был определен в родительской теме.
Проверяю, все работает.
Можете и Вы использовать данный метод.
У меня почему-то не работает. Может я что-то не так сделал? Создал в дочерней теме папку woocommerce, в неё положил файл arhive-product, после чего в functions.php дочерней темы попытался удалить хук.
Какую ошибку выдает?