Skip to content

Instantly share code, notes, and snippets.

@cassler
Created February 7, 2014 04:17
Show Gist options
  • Save cassler/8857312 to your computer and use it in GitHub Desktop.
Save cassler/8857312 to your computer and use it in GitHub Desktop.
Automatically sort custom post type 'event' by meta-key 'event-date' and only display posts in the future.
<?php function order_events_by_date($request){
$dummy_query = new WP_Query();
$dummy_query->parse_query( $request );
if($dummy_query->is_singular()):
return $request;
elseif(isset($request['post_type']) && $request['post_type'] == 'event'):
if(!is_admin()):
$request['orderby'] = 'meta_value menu_order title';
$request['meta_key'] = 'event-date';
$request['order'] = 'ASC';
endif;
$request['meta_query'] = array(array(
'key' => 'event-date',
'value' => date('Y-m-d'),
'compare' => '>='
));
endif;
return $request;
}
add_filter('request', 'order_events_by_date' ); ?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment