/** * PIT - Pre get posts * - Display only posts that are more recent than today date + order them by date. */ add_action('pre_get_posts', '_pit_post_type_evenement_query', 99, 1); function _pit_post_type_evenement_query($query) { if (is_admin() || !$query->is_main_query() || $query->get('post_type') != 'evenement' || $query->is_singular()) return; /** Sort by the more recent "custom date" */ $query->set('orderby', 'meta_value'); $query->set('order', 'ASC'); /** Hide "old" post based on "custom date" & "today" date */ $today_date = date('Ymd'); $custom_date_meta = 'date'; $meta_query = array(); $meta_query[] = array( 'key' => $custom_date_meta, 'value' => $today_date, 'compare' => '>=', 'type' => 'DATE', ); $query->set('meta_query', $meta_query); }