Можно ли использовать get_posts()?

Да, в WordPress функция get_posts() предоставляет возможность получить массив постов (записей) с помощью кастомных запросов. Это очень полезная функция, которая может быть использована для различных целей, таких как создание дополнительной логики и пользовательского контента на вашем сайте WordPress.

Синтаксис get_posts() достаточно простой. Функция принимает массив аргументов, которые определяют параметры запроса. Вот пример использования:

$args = array(
'post_type' => 'post', // тип поста, по умолчанию - post
'post_status' => 'publish', // статус поста, по умолчанию - publish
'posts_per_page' => 5, // количество постов для отображения, по умолчанию - все
'orderby' => 'date', // сортировка по дате, по умолчанию - date
'order' => 'DESC' // порядок сортировки, по умолчанию - DESC (убывающий)
);

$posts = get_posts($args);

// выводим полученные посты
foreach ($posts as $post) {
setup_postdata($post);
// здесь можно использовать функции, выводящие контент поста
the_title();
the_content();
}

// сбрасываем глобальную переменную $post
wp_reset_postdata();

В этом примере мы создаем массив аргументов $args, который задает параметры запроса. Затем мы вызываем функцию get_posts() с этими аргументами и присваиваем результат массиву $posts. Далее, мы используем цикл foreach для перебора полученных постов и выводим нужный контент, такой как заголовок (the_title()) и содержимое (the_content()).

Важно отметить, что после использования функции get_posts() глобальная переменная $post сохраняет ссылку на последний полученный пост. Чтобы избежать конфликтов, необходимо сбросить эту переменную с помощью функции wp_reset_postdata() после окончания вывода постов.

Также, в функцию get_posts() можно передать множество других аргументов, чтобы настроить запрос по-своему. Например, вы можете указать конкретные категории или теги с помощью параметра 'category' или 'tag', задать условия по времени публикации с помощью параметра 'date_query' и многое другое.

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