Update: 12/19/15 : Here\'s a plugin on Github 我开发的(使用下面提供的答案中的方法)添加了对将所有小部件更改为引导组件/样式的支持。
<小时>
<人力资源>
Original Answer我理解不想使用javascript,但在我看来,完全为list-group
要添加到小部件的类<ul> html tag. If you look at what the list-group
类实际上做到了这一点,您会注意到它所做的只是删除默认的浏览器填充并添加一些底部边距。
.list-group {
padding-left: 0;
margin-bottom: 0;
}
很可能您甚至不需要底部边距,因为您应该将默认边距添加到
.widget
或类似的侧栏
before_widget
class 在您的主题css中。
For example: Setting default sidebar widget margins
.sidebar-primary .widget {
margin-bottom: 20px;
}
因此,从本质上讲,该类给您带来的唯一真正好处是删除列表的默认浏览器填充。这也是(在我看来)您可能应该在css中做的事情,因为这就是bootstrap处理它的方式。
.sidebar-primary .widget.widget_categories {
padding-left: 0;
}
至于
list-group-item
上的类
<li>
我们可以使用的元素
wp_list_categories
对此进行筛选。虽然我们在做这件事,但我们还是可以将count的样式更改为bootstraps格式。。。
function bs_categories_list_group_filter ($variable) {
$variable = str_replace(\'<li class="cat-item cat-item-\', \'<li class="list-group-item cat-item cat-item-\', $variable);
$variable = str_replace(\'(\', \'<span class="badge cat-item-count"> \', $variable);
$variable = str_replace(\')\', \' </span>\', $variable);
return $variable;
}
add_filter(\'wp_list_categories\',\'bs_categories_list_group_filter\');
如果你
must have 列表组是用php添加的,不想使用css或javascript,您确实有一些其他选项。。。
Option 1 - Use output buffering in your theme templates:
ob_start();
dynamic_sidebar( \'registered-sidebar-name\' );
$sidebar_output = ob_get_clean();
echo apply_filters( \'primary_sidebar_filter\', $sidebar_output );
然后在你的
function.php
您可以使用
primary_sidebar_filter
并使用regex替换
function bs_add_list_group_to_cats( $sidebar_output ) {
// Regex goes here...
// Needs to be a somewhat sophisticated since it\'s running on the entire sidebar, not just the categories widget.
$regex = "";
$replace_with = "";
$widget_output = preg_replace( $regex , $replace_with , $widget_output );
return $sidebar_output;
}
add_filter( \'primary_sidebar_output\', \'bs_add_list_group_to_cats\' );
<小时>
Option 2 - Use output buffering in a plugin / outside of your templates:
这可能是最好的方法,因为它可以让您更自由地自定义任何小部件。这可以添加
as a plugin 幸亏
Philip Newcomer 或直接发送到您的
functions.php with this code.
然后,要使用新的回调函数进行类别小部件过滤(添加引导样式),您需要将其添加到functions.php
:
function wpse_my_widget_output_filter( $widget_output, $widget_type, $widget_id ) {
if ( \'categories\' == $widget_type ) {
$widget_output = str_replace(\'<ul>\', \'<ul class="list-group">\', $widget_output);
$widget_output = str_replace(\'<li class="cat-item cat-item-\', \'<li class="list-group-item cat-item cat-item-\', $widget_output);
$widget_output = str_replace(\'(\', \'<span class="badge cat-item-count"> \', $widget_output);
$widget_output = str_replace(\')\', \' </span>\', $widget_output);
}
return $widget_output;
}
add_filter( \'widget_output\', \'my_widget_output_filter_footer\', 10, 3 );