From 8e1df9dab29e650804adda1e81c926c995abc492 Mon Sep 17 00:00:00 2001 From: Helen Hou-Sandi Date: Thu, 12 Feb 2015 18:37:06 +0000 Subject: [PATCH] Posts list table: Add a filter to disable the months dropdown. It was previously possible to prevent it from displaying by filtering everything out from the results, but if one really doesn't want it, they should be able to short-circuit before the query even runs. props norcross, SergeyBiryukov. fixes #30254. git-svn-id: https://develop.svn.wordpress.org/trunk@31438 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/includes/class-wp-list-table.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/wp-admin/includes/class-wp-list-table.php b/src/wp-admin/includes/class-wp-list-table.php index 1152e64e12..94e99c2d35 100644 --- a/src/wp-admin/includes/class-wp-list-table.php +++ b/src/wp-admin/includes/class-wp-list-table.php @@ -509,6 +509,18 @@ class WP_List_Table { protected function months_dropdown( $post_type ) { global $wpdb, $wp_locale; + /** + * Filter whether to remove the 'Months' drop-down from the post list table. + * + * @since 4.2.0 + * + * @param bool $disable Whether to disable the drop-down. Default false. + * @param string $post_type The post type. + */ + if ( apply_filters( 'disable_months_dropdown', false, $post_type ) ) { + return; + } + $months = $wpdb->get_results( $wpdb->prepare( " SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month FROM $wpdb->posts