Не найдено

Query posts wordpress

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

15.09.2016 Ромчик

0

Доброго времени суток. Как вы знаете посты в WordPress сортируются по дате публикации, сначала последние опубликованные. Но иногда необходимо сортировать посты по другому полю, например, по автору или сортировать произвольно. И для этого в WordPress, есть специальная функция. Давайте рассмотрим ее подробней.

В WordPress есть специальная функция query_ posts() , которая определяет какие посты будут показаны в базовом цикле WordPress.

Функция WordPress – query_posts()

Функция query_ posts() изменяет основной запрос. Поэтому использовать данную функцию необходимо осторожно. И в конце цикла обязательно используйте функцию wp_reset_query() , которая сбрасывает параметры запроса на начальные.

Функция query_posts() принимает параметры как в виде массива, так и в виде строки.

Например, мы хотим вывести посты из категории с ID=2, тогда наш код:

query_posts('cat=2');

Более подробно о функции query_posts можно прочитать на официальном сайте WordPress

Теперь немного практики.

Сортировка постов категории в WordPress

Потребовалось мне сделать сортировку постов категории по дате публикации в обратном порядке. Теперь зная о функции query_posts() сделать это легко. Открываем файл category.php (который отвечает за вывод постов категории) и перед базовым циклом вставить query_posts(‘order=ASC’). Не забываем после цикла вставить wp_reset_query().

<?php query_posts('order=ASC' );?> <?php while (have_posts()) : the_post(); ?> ... <?php endwhile ?> <?php wp_reset_query()?>

Проверяем. Вот не задача. Сортировка по дате есть, но выводятся все посты (даже не относящиеся к данной категории). Получилось то, о чем я писал выше «использовать данную функцию необходимо осторожно». Мы полностью перезаписали основной запрос. Давайте исправим ситуацию.

3D стерео фильмы для 5D
rss