Как отфильтровать подключаемую функцию из дочерней темы 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!");
}
Другие вопросы по тегам