Функция get_posts - выводим записи в любом месте шаблона wordpress

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

В WordPress есть прекрасная функция <?php get_posts(); ?> , которая позволяет выводить записи WordPress в любом месте шаблона. get_posts хороша тем,  что она не перезаписывает базовый цикл WordPress, а создает новый произвольный цикл, поэтому ваш стандартный вывод постов на главной странице не изменится.

Как выводить посты с помощью get_posts

Предположим, что нужно вывести заголовки последних 6 записей из рубрики "Новости" в отдельном блоке в сайдбаре (к примеру, рубрика "Новости" имеет id=3). Тогда в файл sidebar.php нужно добавить следующий код:

<?php $my_posts = get_posts('numberposts=6&category=3'); foreach ($my_posts as $post) : setup_postdata($post); ?> <h2 class="entry-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php endforeach; ?>

Критерии отбора записей могут быть различны. Например вы можете вывести записи из нескольких категорий, указав их id через запятую в параметре "category=номер категорий", или наоборот исключить записи определенных категорий, указав их id со знаком "-".

Параметры вывода постов для функции get_posts

Функция get_posts может принимать различные параметры, знакомтесь.

numberposts - определяет количество выводимых постов. Чтобы убрать это ограничение нужно поставить значение -1. Значение 0 будет выводить столько постов, сколько уазано в настройках WordPress.

category - определяет из каких категорий нужно выводить посты. Необходимо указывать ID категорий. ID категорий со знаком минус будут исключены из вывода. Можно указать сразу несколько id категорий, указав из через запятую.

tag - выводит записи имеющие определенные метки. Необходимо указывать slug метки - альтернативное имя. Если указать несколько меток через запятую, то будут выведены все записи, имеющие хотя бы одну из этих меток. Если указать несколько меток через пробел, то будут выведены только те посты, которые имеют все эти метки одновременно.

rss