在WordPress中没有某些作者的帖子索引

时间:2020-02-19 作者:Tnace

我正试图在我的Wordpress网站上不索引除3位作者以外的所有作者的帖子。

我发现以下代码可以放在标题中。php文件。然而,这是针对特定类别的。

<?php if (is_single() && (in_category(array(457))))  { 
echo \'<meta name="robots" content="noindex, follow">\';
} ?>
我如何修改它,比如说,如果是单篇文章,并且不是ID为111、112或113的作者,那么插入noindex,如下所示。以下是否正确

 <?php if (is_single() && !(is_author(array(111,112,113))))  { 
    echo \'<meta name="robots" content="noindex, follow">\';
    } ?>

1 个回复
最合适的回答,由SO网友:Andrea Somovigo 整理而成

抄本:is_author() 是一个条件标记,用于确定查询是否针对现有的作者存档页因此它不适用于您的范围。

最好的解决方案,而不是使用模板文件头。php是在函数中编写函数。php钩住正确的动作wp_head:

add_action(\'wp_head\',\'AS_exclude_author_from_indexing\');

function AS_exclude_author_from_indexing(){
  $toIndex = array(111,112,113);
  $user_id = get_the_author_meta( \'ID\' );
  if( !in_array($user_id,$toIndex)){
    echo "<meta name=\\"robots\\" content=\\"noindex,follow\\">".PHP_EOL;
  } 
}