Need help using a filter on the default Categories widget

I need to add the “All Categories” item to the default WP categories widget.

I can see that there’s a filter that I can hook into in the core (line 485 default-widgets.php).

Read More
wp_list_categories(apply_filters('widget_categories_args', $cat_args)); 

I’ve written the following function, but I must have something wrong as it’s not adding the all categories item to the list.

// Add "All Categories" to categories widget
function add_all_categories_to_widget($cat_args) {
    $cat_args['show_option_all'] = 'yes';
    return $cat_args;
}
add_filter('widget_categories_dropdown_args', 'add_all_categories_to_widget');

Can anyone fill me in on what I’ve got wrong?

Thanks!

Related posts

2 comments

  1. Sorry, I was just hooking into the wrong filter. My add_filter should have hooked into widget_categories_args not widget_categories_dropdown_args.

  2. Just to expand on Gus’s answer so that there’s a full code snippet for whoever searches for it.

    You need to hook into the widget_categories_args filter like this:

    add_filter('widget_categories_args', 'add_view_all_to_categories_widget');
    function add_view_all_to_categories_widget($args) {
        $args['show_option_all'] = 'View All';
        return $args;
    }
    

Comments are closed.