sorting - Wordpress pre_get_post filter and sort by the same field -
i trying add filter , sort in pre_get_posts limit display posts having dates greater or equal today based on custom field (meal_date), , sort fields in ascending order using same custom field (meal_date). orderby works alone , filter works alone, not together.
add_filter('pre_get_posts', 'pre_get_posts_hook' ); // place pre_get_posts_hook in functions.php $currentdate = date('y-m-t'); //today's date function pre_get_posts_hook($wp_query) { //start pre_get_posts_hook if(is_admin() ){ //if admin page return $query; // take no action } if (is_archive()) //if archive page, following { $wp_query->set( 'orderby', 'meta_value' ); //set query orderby $wp_query->set( 'meta_key', 'meal_date' ); // set query @ field $wp_query->set( 'order', 'asc' ); // set query order ascending $wp_query->set( 'meta_query', array( //start array array( 'key' => 'meal_date', //query meal_date field 'value' => $currentdate, //when today's date 'compare' => '>=', // compare equal or greater $currentdate 'type' => 'numeric' // type of data compared ) ) ); return $wp_query; } }
wiki
Comments
Post a Comment