Передача переменных в шаблоны (альтернативы глобализации переменных)


Я хочу упростить свой WP-код (внутри есть некоторый беспорядок header.php, page.php и т.д.). Так, например, я хочу установить что-то вроде этого глобального:

$foo = get_option('foo');  

Таким образом, $foo будет правильно использоваться в любом месте page.php, header.php, footer.php, loop.php а также в разных тематических файлах, связанных с functions.php (требуется_once).

Я уже знаю два способа достижения этого, оба требуют редактирования functions.php :

Глобальная динамика функция

function foo() {
   return 'bar';
}

Глобальная константа

define('FOO_BAR', 'directory');    

Действительно ли мне нужно запускать функцию в нескольких местах только для одной переменной? Разве это не перебор?

Author: onetrickpony, 2012-04-23

1 answers

Вы также можете использовать эту функцию:

set_query_var('foo', $foo);

WP извлечет и предоставит все переменные запроса в каждом загружаемом шаблоне, так что вы сможете получить к нему доступ как $foo

 10
Author: onetrickpony, 2012-04-23 23:14:28