Вывод постов в вордпресс, query_posts, WP_Query, get_posts

Опубликовано: 07.10.2017

До этого мы говорили о различных интересных штуках, а сейчас я подумал о том, что упустил самое базовое понятие в вордпрессе — вывод постов. Существует несколько способов вывести посты, и я их рассмотрю по порядку, начиная с самого простейшего — стандартного цикла вордпресса.

Стандартный цикл вордпресс

Стандартный цикл вордпресс используется в том случае, когда запрос уже сформирован, и записи уже получены, и полученную выборку не нужно никак модернизировать. Пример — шаблон категории category.php — нужно просто вывести уже полученные записи категории, или single.php — единственная запись также уже выбрана, и нужно ее вывести. И так далее. В этом случае достаточно использовать стандартный цикл. Выглядит он примерно вот так:


Пример Ajax подгрузки постов из рубрик в Wordpress - практический урок, гайд по Ajax

<?php if(have_posts()) : ?> <?php while ( have_posts() ) : the_post(); ?> <div id="post-<?php the_id(); ?>" <?php post_class(); ?> <h1><?php the_title(); ?></h1> <?php the_content(); ?> </div> <?php endwhile; ?> <?php else : ?> <h2>Записей нет</h2> <?php endif; ?>

Этот код перебирает уже сформированную выборку и выводит посты на страницу. Все просто.

Вордпресс заботится о нас и делает стандартную выборку для каждого шаблона, для рубрики, для таксономии, архивов, одиночных постов, страниц и прочее. Данные стандартного запроса сохраняются в $wp_query, а затем мы их выводим с помощью вышеописанного цикла.

Далее рассмотрим случай когда нам нужно получить выборку отличную от стандартной.

Выборка при помощи query_posts()

query_posts — это стандартная вордпресс функция, выполняющая запрос к базе данных на выборку постов. С помощью нее мы можем модернизировать существующую выборку или получить новую. Сначала разберем получение новой выборки постов.