如何在所有侧边栏中添加一个类,以便让Google Custom搜索引擎知道不对内容进行索引?

时间:2015-05-13 作者:Joel

我已经用谷歌CSE替换了我网站上的WP搜索。Google有一个很好的特性,通过在这些部分添加“nocontent”类,可以指定页面的某些区域不应该是可索引的。我需要将这个类添加到所有提要栏中。

我尝试在register\\u提要栏中添加一个过滤器,并且在函数中更改了数据,但我所做的更改没有传递到输出中。

add_action( \'register_sidebar\', \'uft_add_nocontent_class\' );

function uft_add_nocontent_class( $sidebar_info ) {
  $sidebar_info[\'before_widget\'] = str_replace(\'class="widget \',\'class="widget nocontent \',$sidebar_info[\'before_widget\']);
  return $sidebar_info;
}
我还尝试了一个类似缺乏成功的行动。我应该仅仅修改子主题,还是有其他方法使钩子工作?

2 个回复
最合适的回答,由SO网友:leclaeli 整理而成

如果要在每个小部件之前添加类,则应使用dynamic\\u sidebar\\u params过滤器。Another post 很好地解释了这一点。以下是要点。

function uft_add_nocontent_class($params) {
    $params[0][\'before_widget\'] = \'<aside id="%1$s" class="widget %2$s nocontent">\';
    return $params;
}
add_filter(\'dynamic_sidebar_params\', \'uft_add_nocontent_class\');
否则,请转到并编辑子主题文件。如果你没有太多的边栏,那可能是最简单的。您还可以使用一些JavaScript将类添加到选定的侧栏中。

SO网友:ambroseya

您可能应该在显示时执行此操作,而不是在侧边栏注册时。例如,侧栏。php或您的主题用于讨论中的提要栏的任何变体。您可能试图在设置之前更改它。

结束

相关推荐

Adding Multiple Sidebars

大家好,我想向我的wordpress站点添加多个侧栏。我目前在函数中注册了两个侧栏。php类似:function themename_widgets_init() { register_sidebar( array( \'name\' => __( \'Sidebar\', \'themename\' ), \'id\' => \'sidebar-1\', \'des