0

在 Wordpress 中向全局数组 $wp(或 Wordpress 中的任何全局变量)添加额外的键是否是一种好习惯。

我需要在 Wordpress 的所有文件中访问我的主题选项,但我不确定这是否是最好的方法。

就像是:

$wp['theme-options] = $theme_options;
4

2 回答 2

1

“Wordpress 中的所有文件”是什么意思?如果您正在谈论将函数/插件中的变量传递到模板文件中,则这些变量存储在全局 $wp_query 对象中。您可以使用 get() 和 set() 方法 -

function my_plugin(){
    global $wp_query;
    $wp_query->set( 'foo', 'bar' );
}
add_action( 'init', 'plugin' );           // happens early in the logic

function my_plugin_two(){
    global $wp_query;
    $foo = $wp_query->get( 'foo' );
    var_dump( $foo == 'bar' );            // TRUE
}
add_action( 'parse_request', 'plugin' );  // happens later

然后在您的模板文件中,您将拥有 $foo 一切准备就绪。

// don't need to reference $wp_query,
// load_template() in wp-includes/template.php has set up the variable for you
get_header();
echo $foo; 
etc
于 2012-10-20T02:17:00.200 回答
0

创建比需要更多的全局变量绝不是一个好主意。

看看这个

于 2012-10-20T00:27:59.207 回答