0
我正在寫一個動態創建一個字符串的Wordpress插件。 我想使用wp_head
掛鉤在元標記中插入此字符串。我如何傳遞一個可變的wordpress短代碼
我的插件的工作原理如下:我定義了一個shortcode,其處理函數聲明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
變量爲空。所以它打印一個空的meta標籤。 (我知道所有其他的工作,因爲我可以更改add_meta_tags()
做類似echo "FAKE META TAG";
的東西,它顯示了它應該在標題中的位置。)
那麼,我在做什麼?我認爲它必須涉及可變範圍,但我被卡住了。
我試過全球化變量的一對夫婦的變化(因爲我是一個困惑通過對全局的PHP文件!)。你的建議是將它設置爲全局唯一的函數內部,還是除了外部的'global'聲明? – emersonthis 2012-03-05 21:23:05
我會嘗試在附加到原來的全局聲明 – 2012-03-05 21:41:38
不知道它是「正確的」,但它是幹活的。每次我引用該變量(函數的內部和外部)時,我都指定'global'。使用全局像這樣讓我感覺噁心的...... – emersonthis 2012-03-05 23:08:41