Как использовать собственные PHP-переменные в шаблоне WordPress?

Я использую шаблон wordpress в php следующим образом:

<?php include('wp-blog-header.php'); get_header(); ?> ...Hello World... <?php get_footer(); ?> 

хорошо, он работает хорошо … но содержимое заголовка и других метатег не пуст. Как изменить содержимое заголовка или использовать собственные переменные в разделе get_header ()? он не работает следующим образом:

 $test="Blabla"; get_header(); .. inside a wordpress header template: echo $test; 

переменная $ test пуста 🙁 .. любые идеи? спасибо!

Переменная $ test пуста, потому что заголовок включен функцией, следовательно, эффективно «в» функции и, что более важно, в другой сфере. Думайте об этом как

 function get_header() { $test = '1234'; } get_header(); echo $test; // won't work because test is in a different scope 

однако вы можете использовать глобальные переменные или переменные $ _SESSION или создать статический класс для хранения переменных, которые могут быть вызваны из любого места.

глобальный вариант, вероятно, является самым быстрым решением здесь (не обязательно самым строгим).

 $GLOBALS['test'] = "Blabla"; get_header(); .. inside a wordpress header template: echo $GLOBALS['test']; 

надеюсь, это поможет

поместите все ваши различные пользовательские функции и / или переменные в свои функции. php

или замените get_header (); включите get_bloginfo ("template_url"). '/ header.php';

Просто замените:

 <?php $test="Blabla"; get_header(); ?> 

с:

 <?php $test="Blabla"; include(TEMPLATEPATH . '/header.php'); ?>; 

и переменная будет в объеме. Старайтесь избегать использования глобальных переменных.

По умолчанию get_header () вытаскивает файл header.php. вы можете просто переписать файл header.php, чтобы включить то, что вы хотите. Если вы не хотите переписывать его для всех шаблонов, но только для нескольких из них вы можете использовать get_header ('name'), который будет захватывать header-name.php, в котором у вас могут быть свои собственные элементы.