我正在制作一个插件来隐藏评论页面标题中的规范元素。
我的完整插件代码是:
global $cpage;
if($cpage > 1){
remove_action('wp_head', 'rel_canonical');
}
因此,如果评论页码是> 1然后它将删除规范。
如果我只有remove_action('wp_head', 'rel_canonical');
没有IF那么它可以工作......但是我试图使用变量$ cpage(它在wordpress中给出注释页码)仅在注释页面上删除。 ..
我在这里做错了什么?
答案 0 :(得分:0)
如果它不适用于IF
语句,那么$cpage
显然不会大于1.请在echo $cpage;
语句前IF
检查您的号码'得到。
答案 1 :(得分: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_action
之后但在打印之前运行rel_canonical
,因此最后一行add_action
中的第三个优先级参数。顺便说一下,我通过追踪和错误找到了这个号码。