Skip to content

Commit

Permalink
adding first and last classes to widgets
Browse files Browse the repository at this point in the history
  • Loading branch information
retlehs committed Oct 14, 2011
1 parent 95b6501 commit f383bc0
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions inc/roots-cleanup.php
Original file line number Diff line number Diff line change
Expand Up @@ -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');

?>

0 comments on commit f383bc0

Please sign in to comment.