WordPress ilk ve son bileşene first, last class’ı ekleyin

WordPress ilk ve son bileşene first, last class’ı ekleyin
54

Temanızda bileşen desteği bulunuyorsa işinize yarayabilecek bir kod paylaşıyorum. Aşağıda ki kod sayesinde aktif bileşenlerin ilkine “first widget”  sonuncusuna da “last widget” class’ı ekleyebilirsiniz.

[bilgi]Eğer temanızın bileşen desteği yoksa register sidebar adlı makalesini inceleyerek aktif edebilirsiniz.[/bilgi]

Aşağıdaki kodu temanızın functions.php dosyasının içerisine ekleyin.

add_action('init', 'ak_add_order_classes_for_widgets' );
 
function ak_add_order_classes_for_widgets() {
 global $wp_registered_sidebars, $wp_registered_widgets;
 
 #Grab the widgets
 $sidebars = wp_get_sidebars_widgets();
 
 if ( empty( $sidebars ) ) {
 return;
 }
 
 #Loop through each widget and change the class names
 foreach ( $sidebars as $sidebar_id => $widgets ) {
 if ( empty( $widgets ) ) {
 continue;
 }
 
 $number_of_widgets = count( $widgets );
 
 foreach ( $widgets as $i => $widget_id ) {
 $wp_registered_widgets[$widget_id]['classname'] .= ' ak-widget-order-' . $i;
 
 # Add first widget class
 if ( 0 == $i ) {
 $wp_registered_widgets[$widget_id]['classname'] .= ' ak-widget-first';
 }
 
 # Add last widget class
 if ( $number_of_widgets == ( $i + 1 ) ) {
 $wp_registered_widgets[$widget_id]['classname'] .= ' ak-widget-last';
 }
 }
 }
}

Yorum Yap