Я пишу плагин WordPress, который динамически создает строку. Я хочу вставить эту строку в метатег, используя wp_head
hook.
Мой плагин работает следующим образом: я определяю короткий код, функция обработчика которого объявляет add_action(...
который добавляет специальный тэг <meta>
в заголовок.
Это работает, НО …
Моя единственная проблема заключается в том, что я не могу понять, как передать переменную, содержащую строку, для печати в голове. Переменная не определена, хотя я глобализую ее в своем плагине.
//INSIDE MY PLUGIN... global $head_string; function initialize_my_plugin_class() { $head_string = "<meta>bla bla bla</meta>"; } function add_action('wp_head', 'add_meta_tags' ) //this is slightly oversimplified //the execution order of wp_head makes //the real code a bit more complicated //for the purposes of this question let's //pretend it's like this. function add_meta_tags() { echo $head_string }
Результат работает, $head_string
переменная $head_string
пуста. Таким образом, он печатает пустой метатег. (Я знаю, что все остальное работает, потому что я могу изменить add_meta_tags()
чтобы сделать что-то вроде echo "FAKE META TAG";
и оно появляется там, где должно быть в заголовке.)
Так что случилось с тем, что я делаю? Я думаю, что это должно включать переменную область действия, но я застрял.