Come aggiungere una classe CSS al primo e ultimo widget su WordPress

Certe volte diventa importante aggiungere nel primo e/o nell’ultimo widget una classe CSS che regoli semplicemente il float dell’oggetto. Navigando ho trovato questa utile e interessante funzione in php per aggiungere una classe CSS al primo e all’ultimo widget di WordPress . Basta copiarla nel file functions.php e automaticamente aggiunge al primo una classe “first” e all’ultimo una classe “end”.

Fonte:
http://www.wptaskforce.com/wordpress-how-to-add-first-and-last-css-classes-for-sidebar-widgets/

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 .= 'end  ';
 }
 $params[0]['before_widget'] = str_replace('class="', $class, $params[0]['before_widget']);
 return $params;
 }
 add_filter('dynamic_sidebar_params','widget_first_last_classes');

Rispondi