在 wordpress 中,它调用 header.php,然后调用任何模板名称或请求的页面。如何在我的 php 标头中声明一个变量,然后我可以在其他模板中引用该变量?
5 回答
答案很大程度上取决于你需要它做什么。如果您正在开发一个主题并希望在所有文件中保持值不变,您可以将它们放在functions.php
主题目录中,该目录始终被加载。在那里定义的变量应该在主题中的任何地方都可用。如果您分发主题,这将有效。
如果您想根据自己的安装需要修改现有主题,您可以wp-config.php
按照建议将它们放入 中,或者(更简洁的方法)您可以创建要更改的主题的子主题。这将使其与 wordpress 核心分开,并防止主题更新覆盖您的更改。
我刚刚尝试使用functions.php
:
函数.php:
$variable = "value";
header.php:
global $variable;
echo $variable;
为我工作。
您可以像这样声明它(在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(); ?>
wp-config.php
您可以在文件中定义它们。
配置文件永远不会更新,因此即使您更新它,您的 Wordpress 安装也会随着时间的推移而具有这些变量。
<?php
require_once('wp-config.php');
echo $domain;
?>
另一种在 Wordpress 中定义全局常量的方法,如果出于最佳实践目的,您不想在 WP-config 中添加变量(以保持干净?)。并且由于某些原因,您的变量范围并没有在您的网站的任何地方获得全局范围。
您可以简单地使用:
define( 'MY_VARIABLE', 'My Value' );
有关 consts 范围的更多信息:http: //php.net/manual/en/language.constants.php
我认为php session是在Wordpress上用作全局变量的一种方式。
1.函数.php
if(!session_id()) {
session_start();
}
2..php
您想要设置或获取全局变量的任何文件
获取变量
if(isset($_SESSION['global_var'])) { $local_var = $_SESSION['global_var']; }
设置变量
$_SESSION['global_var'] = "This is global var";