0

我正在制作一个插件来隐藏评论页面标题中的规范元素。

我完整的插件代码是:

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

因此,如果评论页码 > 1,那么它将删除规范。

如果我只是remove_action('wp_head', 'rel_canonical');没有 IF 那么它可以工作......但我正在尝试使用变量 $cpage (它在 wordpress 中给出评论页码)仅在评论页面上删除......

我在这里做错了什么?

4

2 回答 2

0

如果它不适用于IF语句,那么$cpage显然不大于 1。在语句echo $cpage;之前尝试IF检查你得到的数字。

于 2013-02-18T15:06:03.910 回答
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何时设置。其次,您需要remove_actionrel_canonical添加之后但在打印之前运行,因此add_action最后一行的第三个优先级参数。顺便说一句,我是通过跟踪和错误得出这个数字的。

于 2013-02-18T15:31:27.233 回答