$posts, 'posts_per_page' => 5, 'caller_get_posts' => 1 // ignore sticky status ); $my_query = new WP_Query( $args ); /** * Order an array of objects by object property */ function orderby( $a, $b ) { global $posts; $apos = array_search( $a->ID, $posts ); $bpos = array_search( $b->ID, $posts ); return ( $apos < $bpos ) ? -1 : 1; } usort( $my_query->posts, "orderby" ); ?>