В wordpress он вызывает header.php, затем любое имя шаблона или запрашиваемую страницу. Как я могу объявить переменную в моем заголовке php, о котором я могу обратиться в других моих шаблонах?
Ответ в значительной степени зависит от того, что вам нужно. Если вы разрабатываете тему и хотите, чтобы значения были постоянными через все файлы, вы можете поместить их в functions.php
в каталог тем, который всегда загружается. Переменные, определенные там, должны быть доступны повсюду в теме. Это работает, если вы распространяете тему.
Если вы хотите изменить существующую тему для своих нужд в своей собственной установке, вы можете либо поместить их в wp-config.php
, как и предлагалось, либо (более чистый метод), вы можете создать дочернюю тему темы, которую хотите изменить , Это будет держать его отдельно от ядра wordpress и не позволит изменениям темы переписывать ваши изменения.
Я просто попробовал это с помощью functions.php
:
functions.php:
$variable = "value";
header.php:
global $variable; echo $variable;
работает на меня.
Их можно определить в файле wp-config.php
.
Файл конфигурации никогда не обновляется, поэтому ваша установка WordPress будет иметь эти переменные с течением времени, даже если вы ее обновите.
<?php require_once('wp-config.php'); echo $domain; ?>
Вы можете объявить его так (In functions.php):
global $domain; $domain = 'http://www.mydomain.com/';
Вы можете повторить домен сайта WordPress, как это, хотя ..
<?php bloginfo('site_url');?>
Или
$url = site_url(); echo $url;
Или как функция, в functions.php
function displayMyDomain() { global $domain; // you probably don't actually need to set it global as it is a function $domain = 'http://www.domain.com/'; echo $domain; }
Затем в любом месте используйте <?php displayMyDomain(); ?>
<?php displayMyDomain(); ?>
Другой способ определить глобальные константы в WordPress, если для достижения наилучшей практики вы не хотите добавлять переменную в WP-config (чтобы она была чистой?). И по некоторым причинам ваша область переменных не получает глобальную область действия на вашем веб-сайте.
Вы можете просто использовать:
define( 'MY_VARIABLE', 'My Value' );
Дополнительные сведения о области consts: http://php.net/manual/en/language.constants.php