Yet another get_posts() in explicitly defined order problem
Instead, you should use WP_Query Something like so: $specific_order_pages_query_args = array( ‘post_type’ => ‘page’, ‘post__in’ => $ids, ‘orderby’ => ‘post__in’ ); $specific_order_pages_query = new WP_Query( $specific_order_pages_query_args ); WP_Query’s order value post__in is a special value to order by the supplied post__in ID’s See more under Order in WP_Query http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters