【发布时间】:2017-06-06 04:17:29
【问题描述】:
所以我试图删除分页页面的 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 添加的规范链接没有按预期正确删除。
干杯
【问题讨论】:
-
您必须找出负责插入代码的原因并采取相应措施。您从哪里得知
wpseo_canonical过滤器是您可以使用的过滤器? -
嗨@josephting 我正在使用 yoast seo 插件,所以根据他们的API 我使用
add_filter( 'wpseo_canonical', '__return_false' );删除规范。但它不起作用 -
也许其他东西正在打印它。在不知道您使用的插件和/或主题的情况下,不可能查明原因。由于您已经应用了适当的过滤器来删除由 yoast 插入的规范链接以及本机
rel_canonical操作,因此可能还有其他东西正在插入规范链接。由于rel_canonical也被添加到embed_head操作中,它可能不起作用,但也尝试添加remove_action('embed_head', 'rel_canonical')。 -
@josephting 使用
remove_action('embed_head', 'rel_canonical')彻底破坏了网站。现在也加载不出来了。幸运的是我在 localhost 上开发 -
除非您忘记了冒号 (
;),否则它不应该破坏网站。
标签: php wordpress wordpress-hook yoast