Вы неправильно понимаете некоторые понятия в query_posts и get_posts .
query_posts должен использоваться внутри цикла. get_pages нет. Если вы хотите использовать query_posts, вам не нужно создавать вызов get_pages. Используйте query_posts или get_pages, чтобы выполнить то, что вы пытаетесь сделать.
Вам необходимо объединить параметры категории в query_posts.
<?php
query_posts('showposts=5&cat=7');
//The Loop
if ( have_posts() ) : while ( have_posts() ) : the_post();
..
endwhile; else:
..
endif;
//Reset Query
wp_reset_query();
?>
Если вы хотите использовать ту же логику, но без Цикла, просто позвоните
$posts = get_posts('numberposts=5&offset=0&category=7')
.
Прочитайте ссылки, которые я предоставил. У них есть вся информация, необходимая вам, чтобы понять, как делать то, что вам нужно.