Via onderstaand stukje code heb ik de loop voor de Custom Post Type ’trainingsdata’ aangepast. Deze wordt nu gesorteerd op een advanced custom field, genaamd ‘datum’. Daarnaast toon ik alleen items die in de toekomst liggen via een extra meta query:
// Andere sortering voor CPT trainingsdata frontend function my_pre_get_posts( $query ) { // pas de query niet aan voor de backend if( is_admin() ) { return $query; } // pas alleen de query aan voor custom post type 'trainingsdata' if( isset($query->query_vars['post_type']) && $query->query_vars['post_type'] == 'trainingsdata' ) { // Filter op Advanced Custom Field 'datum' $query->set('orderby', 'meta_value'); $query->set('meta_key', 'datum'); $query->set('order', 'Asc'); // Toon alleen items die in de toekomst liggen $today = current_time('Ymd'); $meta_query[] = array( 'key' => 'datum', 'value' => $today, 'compare' => '>=', ); $query->set('meta_query', $meta_query); } // return return $query; } add_action('pre_get_posts', 'my_pre_get_posts');