Wordpress - 定义全局变量的最安全方法

时间:2013-04-26 10:00:08

标签: php wordpress variables global-variables

我不知道“全局”是否是正确的词,但我要做的是:定义一个我可以在模板的许多部分使用的变量。

示例:我必须定义一个包含静态页面ID的变量

$page_id = 34

我必须在不同的模板部分使用它,其功能如

get_page_link($page_id)

我找到了很多方法(PHP define(),在function.php,global,...)但是我想在你看来什么是最安全的

3 个答案:

答案 0 :(得分:4)

您可以在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();

答案 1 :(得分:0)

您还可以使用wordpress默认功能,例如

全球$ wpdb;

上面的全局变量 $ wpdb 用于wordpress的所有页面,因此您也可以创建自己的函数并创建一个声明所有页面或帖子的全局变量。

答案 2 :(得分:0)

如果你使用漂亮的固定链接,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();