无法删除与Yoast SEO插件WordPress的典型链接
问题描述:
因此,我试图删除分页的WordPress的标题中的规范链接,但我尝试的所有建议都无法正常工作。无法删除与Yoast SEO插件WordPress的典型链接
这里是我的代码,这是我的functions.php文件:
function my_add_noindex_tags(){
$paged = intval(get_query_var('paged'));
if(is_search() || is_404()) :
echo '<meta name="robots" content="noindex,follow">';
endif;
if ($paged >= 2) :
add_filter('wpseo_canonical', '__return_false', 10, 1);
remove_action('wp_head', 'rel_canonical');
echo '<meta name="robots" content="noindex,follow">';
endif;
}
add_action('wp_head','my_add_noindex_tags', 4);
我知道里面if ($paged >= 2) :
运行的代码,因为这个标签<meta name="robots" content="noindex,follow">
是在头部分。
任何人都知道我可能会出错的地方。
这里的问题是Yoast SEO添加的规范链接未按预期正确删除。
干杯
答
通过Yoast SEO codes去后,它似乎是规范操作添加到wpseo_head
行动。
你可以在使用wp_head
来增加你的函数来使它正常执行时使用优先级1,或者使用下面的适当方法进行操作。使用wpseo_head
操作。
function remove_canonical() {
$paged = intval(get_query_var('paged'));
if ($paged >= 2) {
add_filter('wpseo_canonical', '__return_false', 10);
}
}
add_action('wpseo_head', 'remove_canonical', 4);
+0
作品一种享受。感谢m8 –
您必须了解什么是负责插入代码并采取相应措施。你在哪里发现'wpseo_canonical'过滤器是一个你可以使用的过滤器? – josephting
嗨@josephting我使用yoast seo插件,所以根据他们的[API](https://yoast.com/wordpress/plugins/seo/api/)我使用'add_filter('wpseo_canonical','__return_false' );'去除规范。但它不起作用 –
也许别的东西正在打印它。不知道您使用的是什么插件和/或主题,无法查明原因。由于您已经应用适当的过滤器来删除由yoast插入的规范链接以及本地'rel_canonical'动作,因此可能还有其他内容正在插入规范链接。而且'rel_canonical'也被添加到'embed_head'动作中,所以它可能不会起作用,但也可以尝试添加'remove_action('embed_head','rel_canonical')。 – josephting