我正在使用WordPress。在我网站的后端, 有一个侧边栏。在此侧栏上, 有n个小部件。我想在第一个小部件中添加一个CSS类, 而在其余部分中不添加。
我该如何处理?
请帮忙!
#1
你应该制作动态侧边栏, 以将编号添加到小部件的类或ID。这是一篇不错的文章:http://wordpress.org/support/topic/how-to-first-and-last-css-classes-for-sidebar-widgets
#2
你到底要更改什么?你可以将html放入小部件中, 这样就可以简单地复制小部件的内容-你也可以将ID-s和类放入html中(并编辑主题的style.css文件中的css), 或者可以甚至直接将CSS与style =””标签选项一起使用。如果不是那么简单, 则说明它已经具有ID和/或类-因此你应该使用Firebug获取这些ID和类, 然后在style.css中编辑样式。
#3
我对WordPress中的小部件挂钩没有很多经验, 但是我相信这应该可以满足你的要求。
<?php
if( !is_admin() ) {
$sidebar_id = 'your-sidebar-id-here';
$sidebars_array = wp_get_sidebars_widgets();
if( isset( $sidebars_array[$sidebar_id] ) && ( !empty( $sidebars_array[$sidebar_id] ) ) ) {
$first_widget = current( $sidebars_array[$sidebar_id] );
add_action( 'widgets_init', 'so4461485_widget_custom', 10000 );
}
}
function so4461485_widget_custom() {
global $wp_registered_widgets, $first_widget;
if( empty( $wp_registered_widgets ) )
return;
foreach( $wp_registered_widgets as $widget_id => $widget_data_array ) {
if( $widget_id != $first_widget )
continue;
if( isset( $widget_data_array['classname'] ) )
$wp_registered_widgets[$widget_id]['classname'] .= ' first_widget';
}
}
?>
你只需要用有效的补充工具栏ID(即注册补充工具栏时设置的ID)替换your-sidebar-id-here(代码的第3行)。
为了方便起见, 可以将代码放在主题的functions.php中。如果你在放置代码时遇到麻烦, 只需确保你没有嵌套PHP标签即可。(例如<?php <?php)。
编辑:接受的答案可能实际上解决了这个问题, 因此请遵循该建议。
希望有帮助…
评论前必须登录!
注册