Как отфильтровать подключаемую функцию из дочерней темы WordPress
Мне нужно добавить фильтр к определенной функции WordPress, которая определена в файле, который включен в функции темы подключаемой функции f
functions.php:
if (!function_exists('nectar_colors_css_output')) {
function nectar_colors_css_output(){
include('css/colors.php');
}
}
colors.php:
<?php
function nectar_colors() {
// not relevant what happens here, but I have
// to call another function before this one is called!
}
?>
Я использую дочернюю тему, и когда я пытаюсь отфильтровать эту функцию из functions.php дочерней темы, ничего не происходит. Это связано с тем, что подключаемые функции родительской темы будут вызываться после вызова фильтров из дочерней темы.
Моя функция фильтра в дочерней теме functions.php
function filter_function() {
// some custom actions...
}
add_filter('nectar_colors', 'filter_function');
Как я могу заставить этот фильтр работать?
1 ответ
Что именно вы пытаетесь отфильтровать? Вы можете неправильно понять концепции.
Возьмите ваш пример при условии. Родитель проверяет, существует ли функция перед ее созданием. Таким образом, в основном, если вы определите это в теме вашего ребенка, родитель будет знать, что это там, и не будет создавать тему по умолчанию.
#themename-child
function nectar_colors_css_output(){
error_log("It worked!");
}