On a custom post type, I want to remove the filters that show up on /edit.php (where all of the posts are listed out).

I have a custom taxonomy that shows up as a filter that I WANT to keep, but I want to REMOVE the 'Show all dates' and 'View all categories' filters.

Any ideas?

4 Answers 4


This is a very similar question to the one you posted here: How to HIDE everything in PUBLISH metabox except Move to Trash & PUBLISH button Please check my answer. You would simply need to add the IDs of the elements you wish to hide.

You can traverse the DOM to target the elements you need:

#posts-filter .tablenav select[name=m],
#posts-filter .tablenav select[name=cat],
#posts-filter .tablenav #post-query-submit{
  • Brian, the code from the other post works when this is added: add_action('admin_head-edit.php', 'hide_publishing_actions'); But, I am not able to get the Show All Dates removed because it does not have an ID or Class assigned to it. Any ideas?
    – katemerart
    Commented Dec 11, 2011 at 4:18
  • Check out my latest edit. Commented Dec 11, 2011 at 4:35

There is a filter for the dropdown dates since WP 3.7.0 (sorry I did not check the others but I assume they also have filters).

The filter is: months_dropdown_results

This example below removed the dates dropdown from the admin pages filter but not for posts.

function remove_date_drop(){

$screen = get_current_screen();

    if ( 'page' == $screen->post_type ){
        add_filter('months_dropdown_results', '__return_empty_array');

add_action('admin_head', 'remove_date_drop');

Hiding by css also affect other post/page types. At least I was able to remove Actions for an specific cpt using this hook

add_filter('bulk_actions-edit-mycpt', '__return_empty_array');


Since WordPress 4.2.0, removing the All Dates dropdown filter menu is much easier thanks to the disable_months_dropdown filter.

To disable the dates filter menu everywhere, use the __return_true helper:

add_filter('disable_months_dropdown', '__return_true');

To disable the dates filter menu for a specific post_type, use a simple function like this:

    function ($disable, $type) {
        return $type === 'my_post_type';

Not the answer you're looking for? Browse other questions tagged or ask your own question.