Wordpress global variables?

时间:2011-04-18 作者:Wordpressor

我有一个叫“某物”的metabox页面。它可以有两个值“value”和“value2”。

我在这个页面上使用了一个短代码,希望它显示一些东西的值。问题是我不知道如何在短代码中访问全局变量?

例如,我在第页有这个。php:

if($something == "value") {   
     global $one, $two; 
     $one = 120;
     $two = 240;
}
现在我想在shortocde(functions.php文件)中访问这些变量,但是

echo $one; echo $two;
没有输出。

有什么想法吗?

3 个回复
最合适的回答,由SO网友:Bainternet 整理而成

元数据保存在Posteta表中,要获取元数据,可以使用get_post_meta($post_id,\'meta_key_name\',true);

因此,在您的shortcode函数中,globilize$post对象并获得这样的值

if($something == "value") {   
     global $post; 
     $one = get_post_meta($post->ID,\'value_name\'true);
     $two = get_post_meta($post->ID,\'value2_name\'true);
}

SO网友:Drew Gourley

除非你是在一个函数中通过页面发出回声。php中,函数不会从这些全局变量中得到任何东西,因为它们是在函数之后设置的。php运行。

尝试以下操作:

在函数中。php:

function show_me_that_stuff() {
    global $one, $two;
    echo $one;
    echo $two;
}
然后在第页。php:

if($something == "value") {   
     global $one, $two; 
     $one = 120;
     $two = 240;
}
show_me_that_stuff();
现在应该输出120240。

SO网友:Dan Gayle

Post-specific value(如您所演示的)应该是Post\\u meta(如Bainternet所演示的)。毫无疑问。

但是,如果它不是特定于页面的,并且是真正全局的,那么您还可以使用带有特定API的wp\\U选项表来处理它。

结束

相关推荐

Shortcode empty attribute

有没有办法为短代码创建一个空属性?示例:function paragraph_shortcode( $atts, $content = null ) { return \'<p class=\"super-p\">\' . do_shortcode($content) . \'</p>\'; } add_shortcode(\'paragraph\', \'paragraph_shortcode\'); 用户类型某物它显