如何传递变量wordpress短代码

时间:2012-03-05 20:16:36

标签: php wordpress wordpress-plugin

我正在编写一个动态创建字符串的Wordpress插件。 我想使用wp_head挂钩在元标记中插入此字符串。

我的插件的工作方式如下:我定义了一个短代码,其处理程序函数声明add_action(...,在标题中添加一个特殊的<meta>标记。

这很有效,但是......

我唯一的问题是我无法弄清楚如何传递包含字符串的变量以打印到头部。即使我在我的插件中对它进行全球化,也没有定义变量。

//INSIDE MY PLUGIN...

global $head_string;

function initialize_my_plugin_class() {
    $head_string = "<meta>bla bla bla</meta>";
}

function add_action('wp_head', 'add_meta_tags' ) //this is slightly oversimplified
                                                 //the execution order of wp_head makes
                                                 //the real code a bit more complicated
                                                 //for the purposes of this question let's
                                                 //pretend it's like this.

function add_meta_tags() {
    echo $head_string
}

结果有效,除了$head_string变量为空。所以它会打印一个空元标记。 (我知道其他一切都有效,因为我可以更改add_meta_tags()来执行类似echo "FAKE META TAG";的操作,并显示它在标题中的位置。)

那我的工作有什么不对?我认为它必须涉及可变范围,但我被卡住了。

1 个答案:

答案 0 :(得分:0)

尝试将$ head_string设置为函数内的全局。