(check the edit below) Is it possible to sort the post based on a custom field? I have a custom field called "value_date" where I enter a date e.g yyyy/mm/dd The idea is sort the upcoming dates first in the loop, is possible? I used a template for custom post taxonomy-event-date.php <!-- // The Query // --> <?php if( have_posts() ) { $alt_post = 'alt-post'; while( have_posts() ) { the_post(); $alt_post = $alt_post == 'alt-post' ? '' : 'alt-post'; ?> <div class="box-page-shows-block"> <?php global $wp_query; $postid = $wp_query->post->ID; echo get_post_meta($postid, 'value_date', true); wp_reset_query(); ?> </div> <h2><?php the_title(); ?></h2> <?php } } ?> **EDIT** Not working only displayed one post Loop in template for custom post taxonomy-event-date.php <?php $args = array( 'post_status' => 'publish', 'posts_per_page' => 6, 'paged' => $paged, 'meta_key' => 'value_date', 'orderby' => 'meta_value_num', 'order' => 'ASC' ); $query = new WP_Query( $args ); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post();?> <h2><?php the_title(); ?></h2> <?php } } wp_reset_query(); // Restore global post data stomped by the_post(). ?> **Functions.php** add_action('pre_get_posts','search_filter'); function search_filter($query){ if ( !is_admin() && $query->is_tax( 'event', 'date' ) ) { $query->set('post_status', 'publish'); $query->set('meta_key', 'value_date'); $query->set('orderby', 'meta_value_num'); $query->set('order', 'ASC'); } }