我不知道是否“全球”是正确的词,但我要做的是:定义一个变量,我可以在模板的许多部分使用。WordPress的 - 最安全的方法来定义全局变量
例如:我有定义一个包含一个静态页面
$page_id = 34
的ID的变量,我必须使用它在不同的模板零件,具有的功能类似于
get_page_link($page_id)
我发现许多方式来做到这一点(PHP的define(),在function.php,全球...),但我问你最想要的是什么最安全的。
我不知道是否“全球”是正确的词,但我要做的是:定义一个变量,我可以在模板的许多部分使用。WordPress的 - 最安全的方法来定义全局变量
例如:我有定义一个包含一个静态页面
$page_id = 34
的ID的变量,我必须使用它在不同的模板零件,具有的功能类似于
get_page_link($page_id)
我发现许多方式来做到这一点(PHP的define(),在function.php,全球...),但我问你最想要的是什么最安全的。
您可以在wp-config
文件(可在所有主题中访问)或主题目录的function.php
中定义它。
例子:Function.php
global $blog_pageId;
$blog_pageId = 34;
或者只是创建一个小功能,返回你的ID。
function get_blog_page_id(){
return "34";
}
不止一个可以把它作为,
$blog_pageId = get_blog_page_id();
您还可以使用WordPress的默认功能,例如
全球WPDB $;上面全局变量
WPDB $是 WordPress中的所有页面使用,所以你也可以创建自己的功能,并创建一个全局变量是声明的所有页面或帖子。
我在functions.php中定义了'global $ page_id;'但它不起作用 – 2013-04-26 10:26:13
如果你使用漂亮的固定链接,get_query_var('page_id')将不起作用。
取而代之的是,从全球$ wp_query得到被查询对象ID:
// Since 3.1 - recommended!
$page_object = get_queried_object();
$page_id = get_queried_object_id();
// "Dirty" pre 3.1
global $wp_query;
$page_object = $wp_query->get_queried_object();
$page_id = $wp_query->get_queried_object_id();
请在你的function.php文件中尝试上面的代码 – 2013-04-26 10:42:32
嗨Rikesh!抱歉,但不清楚。我宁愿不修改wp-config,然后去为functions.php方法,但它不起作用。什么是'$域'?我也尝试'全球$ page_id',但没有。 – 2013-04-26 10:18:21
@FredK - 抱歉已更新。尝试像这样声明var,并在你的任何主题文件中访问它。 – Rikesh 2013-04-26 10:22:57
尝试过'global $ page_id; $ page_id = 34;'在另一个php文件中的function.php和'get_page_link($ page_id)''但它不起作用! – 2013-04-26 10:24:37