有两种方法允许在每个小部件上使用单独的样式。第一个是向小部件添加单独的类,如下所示:
第一种方法
register_sidebar(array(\'name\'=>\'sidebar1\',
\'before_widget\' => \'<ul class="black-bg"><li>\',
\'after_widget\' => "</li></ul>",
\'before_title\' => \'<h2 class="widgettitle">\',
\'after_title\' => "</h2>"
));
然后可以使用。返回bg类以设置小部件的样式,如下所示:
#sidebar .black-bg {
background:black;
}
没有边界:
register_sidebar(array(\'name\'=>\'sidebar2\',
\'before_widget\' => \'<ul class="no-border"><li>\',
\'after_widget\' => "</li></ul>",
\'before_title\' => \'<h2 class="widgettitle">\',
\'after_title\' => "</h2>"
));
例如,css是:
#sidebar .no-border {
border:none;
}
第二种方法也可以使用主题文件,在其中调用侧栏/小部件。为此,您只需使用相同的前后小部件,但使用类或id在模板文件中包装提要栏,如下所示:
register_sidebar(array(\'name\'=>\'sidebar1\',
\'before_widget\' => \'<ul><li>\',
\'after_widget\' => "</li></ul>",
\'before_title\' => \'<h2 class="widgettitle">\',
\'after_title\' => "</h2>"
));
register_sidebar(array(\'name\'=>\'sidebar2\',
\'before_widget\' => \'<ul><li>\',
\'after_widget\' => "</li></ul>",
\'before_title\' => \'<h2 class="widgettitle">\',
\'after_title\' => "</h2>"
));
然后在任何文件中。php您可以这样做:
<div class="black-bg">
<?php if ( function_exists ( dynamic_sidebar(1) ) ) : ?>
<?php dynamic_sidebar (1); ?>
<?php endif; ?>
</div>
样式:
.black-bg {
background:black;
}
还有。。。
<div class="no-border">
<?php if ( function_exists ( dynamic_sidebar(2) ) ) : ?>
<?php dynamic_sidebar (2); ?>
<?php endif; ?>
</div>
.no-border {
border:none;
}
回复评论:我以为你指的是侧边栏。大多数人将自定义侧栏称为“小部件”,所以让我再试一次。
我不完全了解您想要什么,但您注册的每个自定义小部件都有自己的类。如果这个小部件被多次使用,那么对我来说,使用它将被放置的“位置”来处理样式(这将是它所在的dynamic\\u侧栏)似乎是有意义的。
如果您正在讨论如何将单独的样式添加到一个在给定侧栏中多次放置的小部件中,那么我只需使用css伪选择器(奇数/偶数)。例如:
/*EVEN*/
#sidebar .black-bg:nth-child(even) {
background:transparent;
border:none;
}
/*ODD*/
#sidebar .black-bg:nth-child(odd) {
background: black;
border:1px dotted silver;
}