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