Как объявить глобальную переменную в PHP, которую я могу использовать во всех шаблонах?

В 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