WordPress的 - 最安全的方法来定义全局变量(Wordpress - Safest meth

2019-09-01 05:19发布

我不知道,如果“全球”是正确的话,但我需要做的就是:确定我可以在模板中的很多地方使用的变量。

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

$page_id = 34

我不得不使用它在不同的模板的部分,与像功能

get_page_link($page_id)

我发现有很多方式做到这一点(PHP定义(),在function.php,全球性的,...),但我问什么是最安全的 ,在您看来。

Answer 1:

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


Answer 2:

您也可以使用像WordPress默认功能

全球WPDB $;

以上全局变量$WPDB WordPress中的所有页面使用,所以你也可以创建自己的功能,并创建一个全局变量是声明的所有页面或帖子。



Answer 3:

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


文章来源: Wordpress - Safest method to define global variables