Site icon Anthony Carbon

Add first and last class on your widget sidebar.

function 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 .= 'first ';
    } elseif($my_widget_num[$this_id] == count($arr_registered_widgets[$this_id])) {
        $class .= 'last ';
    }
    $params[0]['before_widget'] = str_replace('class="', $class, $params[0]['before_widget']);
    return $params;
}
add_filter('dynamic_sidebar_params','widget_first_last_classes');
Exit mobile version