Вот такой код. Думаю, что оптимально в вашем случае будет пройтись по циклу 2 раза.
Первый:
$query = new WP_Query(
array(
'post_type'=>'page',
'post__in' => array(1, 2, 3, 4, 5 ) ,
'order'=>'ASC',
'orderby'=>'post__in'
);
while ( $query->have_posts() ) : $query->the_post();
// и т.д.
Второй
$query = new WP_Query(array('post__not_in'=>array(1, 2, 3, 4, 5)));
while ( $query->have_posts() ) : $query->the_post();
// и т.д.
В первом вы выведите все "премиум" посты)
А далее все остальные
Если я правильно понял, что вам нужно.