Sort admin columns by meta key query
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/********************************************** | |
* Sort columns for TOUR DATE post type | |
**********************************************/ | |
function set_date_post_types_admin_order($wp_query) { | |
if (is_admin()) { | |
// Get the post type from the query | |
$post_type = $wp_query->query['post_type']; | |
if ( $post_type == 'date') { | |
// check if parameter is not set yet | |
if (!isset($_GET['orderby'])) { | |
// 'orderby' value can be any column name. Meta values need to be accompanied by their meta_key | |
$wp_query->set('orderby', 'meta_value'); | |
$wp_query->set('meta_key', '_date_day'); | |
// add a meta_query to narrow down results if needed | |
$wp_query->set('meta_query', array( | |
array( | |
'key' => '_date_day', | |
'value' => strtotime('00:00:00'), // convert today into unix timestamp | |
'compare' => '>=' // today or in the future | |
) | |
) | |
); | |
// 'order' value can be ASC or DESC | |
$wp_query->set('order', 'ASC'); | |
} | |
} | |
} | |
} | |
add_filter('pre_get_posts', 'set_date_post_types_admin_order'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment