Lulu_n10’s answer did not work for me when querying posts inside one taxonomy term ; mainly because I had several posts within multiple taxonomy terms.
Just updated the LEFT JOIN from above answer and now it seems ok.
Here’s the full code :
function filter_join($join){
global $wp_query, $wpdb;
$join .= " LEFT JOIN ".$wpdb->prefix."reorder_post_rel ON (".$wpdb->prefix."posts.ID = ".$wpdb->prefix."reorder_post_rel.post_id AND ".$wpdb->prefix."term_relationships.term_taxonomy_id = ".$wpdb->prefix."reorder_post_rel.category_id )";
return $join;
}
function edit_posts_orderby($orderby){
global $wp_query, $wpdb;
$orderby = " ".$wpdb->prefix."reorder_post_rel.id ";
return $orderby;
}
add_filter('posts_join', 'filter_join');
add_filter('posts_orderby', 'edit_posts_orderby');
$query = new WP_Query(array(
'post_type' => 'your_post_type',
...
));
remove_filter('posts_join', 'filter_join');
remove_filter('posts_orderby', 'edit_posts_orderby');