我已经用谷歌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;
}
我还尝试了一个类似缺乏成功的行动。我应该仅仅修改子主题,还是有其他方法使钩子工作?
最合适的回答,由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将类添加到选定的侧栏中。