WordPress sidebar classes

There any way i could add a class for the specific order of widget item? i.e. the class name would be widgetorder-1 (for the first appearing widget), widgetorder-2 (for the widget appearing in the 2nd order), etc. I looked into filters but wasn’t sure how that worked.

Related posts

Leave a Reply

1 comment

  1. // Set this to whatever number you'd like the ordering to start on.
    $my_blog_widget_count = 0;
    // put your blog sidebar here
    $my_blog_sidebar_id = '';
    
    function output_my_widget_info($a){
        global $my_blog_sidebar_id, $my_blog_widget_count;
        if($a[0]['id'] == $my_blog_sidebar_id){
            global $my_blog_sidebar_id, $my_blog_widget_count;
            $a[0]['before_widget'] = preg_replace( '/ class="widget /i', ' class="widget widget-'.$my_blog_widget_count.' ', $a[0]['before_widget'] );
            $my_blog_widget_count++;
        }
        return $a;
    }
    
    add_filter('dynamic_sidebar_params','output_my_widget_info');
    

    That should do it for you. Just stick that inside your theme’s functions.php file and watch it work.