如何对一个目录中的所有WordPress页面设置noindex?

时间:2016-09-09 作者:File_Submit

我有一个tag\\u ID=92的标准WordPress页面类别,我不想完全索引该类别中的所有帖子。是否有一种方法可以通过函数中的操作/挂钩来实现这一点。php?

3 个回复
SO网友:Malisa

由于我之前发布的代码对OP不起作用,我们可以尝试使用get_the_category正如OP所说的,他正在使用YOAST,我将把这个函数包装到机器人的YOAST挂钩中。

add_filter(\'wpseo_robots\', \'yoast_no_home_noindex\', 999); 
function yoast_no_home_noindex($string= "") {
   $term_id = get_the_category( $post->ID );
      if($term_id[0]->term_id == 92) {
         $string= "noindex, nofollow";
      }
      return $string; 
}
同样,只需将其放入主题函数文件。

SO网友:Malisa

关于noindex,我假设你指的是元机器人noindex,如果是的话,你可以利用in_category 函数在<head></head> 标签,如:

 <?php if(in_category( \'92\' ))
      echo "\\t<meta name=\'robots\' content=\'noindex, nofollow\' />\\r\\n" ?>
或者,如果您不想直接更改主题,可以将其附加到wp_head 动作挂钩,在函数中放置以下内容。php文件通常位于主主题或子主题文件夹中:

add_action(\'wp_head\', \'noRobots\');
function noRobots() {
    if(in_category( \'92\' )) echo "\\t<meta name=\'robots\' content=\'noindex, nofollow\' />\\r\\n";
}
如果当前帖子属于ID为“92”的类别,则上述两项都将返回true,也可以与类别名称或slug或其中一个数组一起使用。

SO网友:Amine Faiz

在html标题中添加以下代码:

<?php if (is_category(\'92\')): ?>
<meta name="robots" content="noindex,nofollow">
<?php endif ?>

相关推荐

致命错误:未捕获错误:无法将WP_ERROR类型的对象用作/../plugins/rm-payment.php中的数组

我使用2个WordPress站点、1个WordPress站点到2个WordPress站点的远程支付系统。第一个是主网站;第二个网站的工作方式类似于处理贝宝支付的商户网站。我们将第一个网站的用户订单详细信息提取到第二个网站,以处理贝宝付款。但在获取第二个网站的网页时出现错误,但请记住,如果重新加载它一次,问题就解决了致命错误:未捕获错误:无法将WP\\u error类型的对象用作/中的数组/插件/rm支付。php:第231行 $response = wp_remote_post( $remote_url,