adding first and last classes to widgets
This commit is contained in:
@@ -465,4 +465,40 @@ function roots_body_class() {
|
||||
return;
|
||||
}
|
||||
|
||||
// first and last classes for widgets
|
||||
// http://wordpress.org/support/topic/how-to-first-and-last-css-classes-for-sidebar-widgets
|
||||
function roots_widget_first_last_classes($params) {
|
||||
global $my_widget_num;
|
||||
$this_id = $params[0]['id'];
|
||||
$arr_registered_widgets = wp_get_sidebars_widgets();
|
||||
|
||||
if (!$my_widget_num) {
|
||||
$my_widget_num = array();
|
||||
}
|
||||
|
||||
if (!isset($arr_registered_widgets[$this_id]) || !is_array($arr_registered_widgets[$this_id])) {
|
||||
return $params;
|
||||
}
|
||||
|
||||
if (isset($my_widget_num[$this_id])) {
|
||||
$my_widget_num[$this_id] ++;
|
||||
} else {
|
||||
$my_widget_num[$this_id] = 1;
|
||||
}
|
||||
|
||||
$class = 'class="widget-' . $my_widget_num[$this_id] . ' ';
|
||||
|
||||
if ($my_widget_num[$this_id] == 1) {
|
||||
$class .= 'widget-first ';
|
||||
} elseif ($my_widget_num[$this_id] == count($arr_registered_widgets[$this_id])) {
|
||||
$class .= 'widget-last ';
|
||||
}
|
||||
|
||||
$params[0]['before_widget'] = str_replace('class="', $class, $params[0]['before_widget']);
|
||||
|
||||
return $params;
|
||||
|
||||
}
|
||||
add_filter('dynamic_sidebar_params', 'roots_widget_first_last_classes');
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user