Функция не найдена в PHP-файле WordPress

#php #wordpress #plugins

#php #wordpress #Плагины

Вопрос:

Я пытаюсь создать плагин, который позволит создавать пользовательские шаблоны отдельных сообщений на основе категории. Код не выполняется, потому что я получаю эту ошибку:

Предупреждение: call_user_func_array() ожидает, что параметр 1 будет допустимым обратным вызовом, функция ‘my_single_template’ не найдена или недопустимое имя функции

Это соответствующий код:

 function my_single_template($single) {
    global $wp_query, $post; 

/** * Checks for single template by category * Check by category slug and ID */
foreach((array)get_the_category() as $cat) :  
    if(file_exists(SINGLE_PATH . 'single-' . $cat->slug . '.php'))
        $single = SINGLE_PATH . 'single-' . $cat->slug . '.php'; 
    
    elseif(file_exists(SINGLE_PATH . 'single-' . $cat->term_id . '.php'))
         $single = SINGLE_PATH . 'single-' . $cat->term_id . '.php'; 
    
    endforeach;
    
    return $single;
}

/** * Filter the single_template with our custom function */ 
add_filter('single_template', 'my_single_template');

?>
 

Я не понимаю, так как add_filter вызывается после объявления функции.. значит, она должна работать?

Любая помощь приветствуется!

Комментарии:

1. Пожалуйста, обратитесь к этому ответу здесь Ошибка: call_user_func_array() ожидает, что параметр 1 будет действительным обратным вызовом

2. @Bhautik так что мне нужно сделать add_filter('single_template', array($single, 'my_single_template')); ?