Цикл Wordpress на основе страниц

Однажды при создании очередного сайта на Wordpress мне понадобилось построить цикл на основе страниц, но в рунете информации а эту тему не было в принципе, поэтому пришлось покопаться в кодэксе и вот перед вами решение этой не тривиальной задачи.

Строим цикл:

<?php query_posts(array('showposts' => <количество страниц для показа>,
'post_parent' => <ID родительской страницы>, 'post_type' => 'page')); ?>

<?php while (have_posts()) : the_post(); ?>

/* Тело цикла... */

<?php endwhile;?>
<?php wp_reset_query(); ?> // Аннулируем данные запроса

Пример:

Допустим нам нужно вывести 10 дочерних страниц родительской страницы "Услуги", у которой ID 149 и упорядочить их используя поле "Порядок" в админке (за это отвечает "'orderby' => 'menu_order'"). В цикле будет выводиться миниатюра и заголовок с ссылкой на страницу.

<?php query_posts(array('showposts' => 10, 'post_parent' => 149,
'post_type' => 'page', 'orderby' => 'menu_order')); ?>

<?php while (have_posts()) : the_post(); ?>
<div>

<?php if ( function_exists("has_post_thumbnail") && has_post_thumbnail() )
{ the_post_thumbnail('large-thumbnail'); } else {echo ('<img src="' .
get_bloginfo('template_directory') . '/images/demo/piecemaker/960x360.gif"
width="960px" height="360px" />'); } ?> //Если миниатюра есть - выводим миниатюру, иначе показываем заглушку

<div><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div>
</div>
<?php endwhile;?>
<?php wp_reset_query(); ?>