WordPress как на ладони
wordpress jino

Как задать значение переменной в php шаблоне и проверить его после в functions.php

Можно ли задать значение переменной в php шаблоне страницы WordPress и после проверить значение этой переменной в functions.php ?

Возможно ли такое вообще или functions.php в любом случае выполняется первым?

Если да то может можно проверить эту переменную в functions.php при выполнении функций хуков wp_footer, wp_print_styles и т.п.?

1
Виктор 4 месяца назад
  • 0
    Kama4464

    Надежно этого никак не сделать!

    functions.php запускается гораздо раньше чем подключается файл шаблона. Файл шаблона подключается в последнюю очередь... Подробнее здесь писал.

    Возможность все же есть...

    Единственный вариант это как ты заметил, использовать подходящий хук в functions.php, который сработает после того как будет установлена переменная в файле шаблона.

    Но тут зависит от того в каком месте шаблона ты определишь переменную...

    Например, если определить переменную в самом начале файла шаблона, еще до вызова
    get_header(), то любое событие шаблона подойдет для использвоания в functions чтобы поймать эту переменную.

    Допустим файл шаблона у нас начинается так:

    <?php
    global $myvar;
    $myvar = 'foo'; // определили
    
    get_header(); // получаем header.php темы 
    
    // и остальной код файла шаблона ...

    Тогда в functions.php мы можем поймать эту переменную на любом из событий:

    get_header
    wp_head
    wp_enqueue_scripts
    wp_print_styles
    wp_print_scripts
    loop_start
    loop_end
    get_sidebar
    dynamic_sidebar
    get_footer
    get_sidebar
    wp_footer

    Например:

    add_action( 'get_header', function(){
    	global $myvar;
    	echo $myvar;
    } );
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.