Прежде чем я покажу готовый код, давайте подробнее рассмотрим, что имеется ввиду в заголовке и когда это лучше применять.
Вывести посты на странице в WordPress — это значит создать шаблон страницы (page template) и забацать туда цикл, query_posts.
Для чего нужно такое вытворять? Рассмотрим несколько вариантов:
- представьте, что вам нужно вывести на одной странице записи сразу из нескольких категорий
query_posts('cat=3,4,5');
- либо архивы для какого-нибудь типа записей
query_posts('post_type=artwork');
- а ещё таким образом можно обобщить на одной странице несколько таксономий, несколько меток и прочее
Вообще можно скомбинировать любые условия, используя эту статью. Параметры, которые описаны для WP_Query также подойдут и для query_posts.
Теперь я думаю порядок действий вам понятен? Создаете шаблон страницы, пихаете наверх query_posts, потом цикл, потом постраничную навигацию…
Кстати о ней. Просто так она не будет работать. Как это исправить?
Пожалуй стоит описать порядок действий более подробно.
- Создать шаблон страницы.
- Определить номер текущей страницы.
- Использовать query_posts с необходимым набором аргументов, при этом не забыв включить в него номер текущей страницы.
- Добавить цикл.
- Добавить функцию постраничной навигации, например wp_pagenavi().
А теперь полностью готовый код:
<?php /* * Template name: Моя галерея */ $current_page = (get_query_var('paged')) ? get_query_var('paged') : 1; $params = array( 'posts_per_page' => 7, // количество постов на странице 'post_type' => 'artwork', // тип постов 'paged' => $current_page // текущая страница ); query_posts($params); $wp_query->is_archive = true; $wp_query->is_home = false; while(have_posts()): the_post(); /* в тело цикла вставьте HTML одного анонса записи, например: <h2><?php the_title() ?></h2> <p><?php the_content() ?></p> */ endwhile; wp_pagenavi(); // функция постраничной навигации |
Это конечно же обобщенный пример, поэтому не забудьте про get_header() и get_footer(), если они у вас используются.
В предыдущем примере я использовал функцию wp_pagenavi()
. Она отвечает за постраничную навигацию и является составляющей частью плагина WP-PageNavi (русское название: Список страниц).
Если вы используете данный код как есть и при этом у вас не установлен WP-PageNavi, то вероятнее всего вы получите ошибку.
Плагин очень легко устанавливается через админку сайта и так же легко настраивается — так что для этих целей рекомендую использовать именно его.
Источник: misha.blog