2013-02-18 59 views
0

我正在製作一個插件來隱藏評論頁面標題中的規範元素。Wordpress插件cpage變量

我的完整的插件代碼爲:

global $cpage; 
if($cpage > 1){ 
remove_action('wp_head', 'rel_canonical'); 
} 

因此,如果註釋頁碼> 1,那麼它會刪除規範。

如果我只有remove_action('wp_head', 'rel_canonical');沒有IF,那麼它的工作原理......但我試圖使用變量$ cpage(它給出了wordpress中的評論頁碼)只在評論頁面上刪除...

我在這裏做錯了什麼?

回答

0

嘗試:

function kill_comments_canonical() { 
    global $cpage; 
    if(!empty($cpage) && $cpage > 1){ 
    remove_action('wp_head', 'rel_canonical'); 
    } 
} 
add_action('wp_head','kill_comments_canonical',9); 

你可以有幾個問題與原來的代碼。首先,$cpage可能不會在您需要時設置 - 當您的插件中的代碼運行時,請在設置時將其掛接到wp_head。其次,在添加rel_canonical之後但在打印之前,需要運行remove_action,因此在最後一行add_action中爲第三優先級參數。順便說一下,我通過線索和錯誤來找到這個數字。

+0

9是優先值。我在回答中提到了這一點。 – 2013-02-18 15:36:50

+0

對不起,我不明白它爲什麼存在。謝謝您的幫助! – David19801 2013-02-18 15:42:13

+0

此外,我會補充說我將> 1更改爲> 0,並且我認爲這也導致了原始代碼中的一些問題。 – David19801 2013-02-18 15:54:57

0

如果它不與IF語句工作,然後$cpage顯然是不大於1的IF語句之前嘗試echo $cpage;檢查你得到的數量。

+0

我試着迴應cpage,它返回一個空白。 cpage不是全局變量嗎?有沒有另一種方式來獲得評論頁面? – David19801 2013-02-18 15:12:56

+0

我不知道你的代碼是什麼樣的。你現在知道這個問題了。你沒有得到'$ cpage'。 – SeanWM 2013-02-18 15:15:52

+0

問題上面的代碼是我在插件中的完整代碼...沒有更多... – David19801 2013-02-18 15:18:20