Как вывести посты в wordpress с помощью функции querry_posts.

Нередко, создавая свой собственный шаблон на wordpress, возникает ситуация, когда требуется создать вывод постов в соответствии с определенными параметрами (фильтрами). Я сейчас не говорю о шаблонных страницах, типа архивы или определенная рубрика (в этих случаях обычно все намного проще). Речь идет о совершенно произвольной странице.

Пусть, к примеру, вы создали страницу news.php и хотели бы, чтобы здесь выводились только обновления сайта за 2012 год и относящиеся к категории «пресс-релизы». Как вывести эти посты?

Есть два способа:

1. Написать свой собственный скрипт на php, с помощью которого из базы данных будет подтягиваться нужная информация.

2. Использовать функцию, которая есть в wordpress – querry_posts().

Второй вариант более быстрый и простой, поэтому поговорим именно о нем.

Итак, возвращаясь к приведенному выше примеру, напишем инструкцию, которая позволит нам получить все посты за 2012 год из рубрики «пресс-релизы».

Первое, что нам нужно определить, это id данной рубрики. Этот идентификатор вы сможете увидеть при редактировании данной рубрики в админке Вордпресс. В браузере вы увидите URL, окончание которого выглядит примерно так:

/wp-admin/categories.php?action=edit&cat_ID=5

Уникальный id данной категории в самом конце – 5.

Далее создаем такую инструкцию:
$news=query_posts("cat=5&year=2012&posts_per_page=-1");

где
cat – это идентификатор нужной категории
year – год, к которому относятся записи
posts_per_page – количество записей, которое нам нужно получить. Если вы указываете «-1», то из базы выбираются все посты данной рубрики за 2012 год. Если вам нужно получить только последние 10 записей, укажите posts_per_page=10.

Все считанные посты теперь хранятся в объекте $news. Чтобы посмотреть его содержимое, вы можете воспользоваться командой:
print_r($news);

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

Например, содержимое самой свежей записи можно получить так:
$name=$news[0]->post_title;//получаем заголовок
$date=$news[0]->post_date;//получаем дату публикации
$exc=$news[0]->post_excerpt;//получаем анонс поста

Для прохода по всем записям, вам нужно просто создать цикл.

Рекомендуется также в самом конце вашего кода (после цикла с выводом постов) обнулить все переменные, связанные с функцией querry_posts():
wp_reset_query();

Это позволит избежать ошибок при использовании на данной странице нескольких обращений к функции querry_posts().
Теги:
querry_posts
Добавлено: 10 Мая 2018 06:41:29 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...