get_posts()

Извлекает массив последних записей или записей, соответствующих заданным критериям
Функция WordPress
INT 1.2.0
WordPress Icon
Содержание
  1. Описание функции
  2. Примеры использования
  3. Получение последних постов
  4. Получение постов по категории
  5. Получение постов по автору
  6. Получение постов по ID
  7. Получение постов без фильтров
  8. Вопросы и ответы
  9. Как получить последние посты с помощью функции get_posts()?
  10. Как получить посты, соответствующие определенным критериям с помощью функции get_posts()?
  11. Как получить определенное количество постов с помощью функции get_posts()?
  12. Как получить посты из определенной категории с помощью функции get_posts()?
  13. Как получить посты с определенными ID с помощью функции get_posts()?
  14. Как исключить определенные посты из результатов функции get_posts()?
  15. Как отключить фильтры при использовании функции get_posts()?
  16. Как получить посты определенного автора с помощью функции get_posts()?
  17. Как получить посты с определенными категориями (AND) с помощью функции get_posts()?
  18. Связанные элементы

Описание функции

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

Использование

get_posts( array $args = null ): WP_Post[]|int[]

Функция get_posts() принимает один параметр — массив аргументов $args, который содержит дополнительные параметры для получения записей. По умолчанию, если аргумент не передан, функция возвращает массив из 5 последних записей.

  • $args (массив, необязательный): Дополнительные аргументы для получения записей. Доступны все аргументы, описанные в методе parse_query() класса WP_Query. Например, numberposts, category, include, exclude и т.д.

Функция get_posts() возвращает массив объектов записей (WP_Post[]) или массив идентификаторов записей (int[]).

<?php
$args = array(
  'numberposts' => 10, // Получить 10 записей
  'category'    => 1,  // Получить записи из категории с ID 1
  'orderby'     => 'date', // Сортировать по дате
  'order'       => 'DESC' // Сортировать в обратном порядке
);
$posts = get_posts( $args );
foreach ( $posts as $post ) {
  setup_postdata( $post );
  // Вывод информации о каждой записи
  echo '<h2>' . get_the_title() . '</h2>';
  echo '<p>' . get_the_excerpt() . '</p>';
}
wp_reset_postdata();
?>

В этом примере мы используем функцию get_posts() для получения 10 последних записей из категории с ID 1, с сортировкой по дате в обратном порядке. Затем мы выводим информацию о каждой записи, используя функции get_the_title() и get_the_excerpt(). В конце мы вызываем функцию wp_reset_postdata() для сброса данных записей.

Примеры использования

Получение последних постов


$args = array(
    'numberposts' => 5
);
$posts = get_posts($args);
foreach ($posts as $post) {
    // Вывод информации о посте
    echo $post->post_title;
    echo $post->post_content;
}

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

Получение постов по категории


$args = array(
    'category' => 5
);
$posts = get_posts($args);
foreach ($posts as $post) {
    // Вывод информации о посте
    echo $post->post_title;
    echo $post->post_content;
}

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

Получение постов по автору


$args = array(
    'author' => 'admin'
);
$posts = get_posts($args);
foreach ($posts as $post) {
    // Вывод информации о посте
    echo $post->post_title;
    echo $post->post_content;
}

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

Получение постов по ID


$args = array(
    'include' => array(1, 2, 3)
);
$posts = get_posts($args);
foreach ($posts as $post) {
    // Вывод информации о посте
    echo $post->post_title;
    echo $post->post_content;
}

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

Получение постов без фильтров


$args = array(
    'suppress_filters' => false
);
$posts = get_posts($args);
foreach ($posts as $post) {
    // Вывод информации о посте
    echo $post->post_title;
    echo $post->post_content;
}

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

Вопросы и ответы

Как получить последние посты с помощью функции get_posts()?

Функция get_posts() в WordPress позволяет получить массив последних постов или постов, соответствующих определенным критериям.

Для получения последних постов можно использовать функцию без передачи аргументов:

get_posts();

Этот код вернет массив объектов типа WP_Post с последними постами. По умолчанию будет возвращено 5 постов.

Как получить посты, соответствующие определенным критериям с помощью функции get_posts()?

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

Например, чтобы получить посты определенной категории, можно использовать аргумент category с ID категории:

get_posts( array(
    'category' => 1
) );

Этот код вернет массив объектов типа WP_Post с постами из категории с ID 1.

Как получить определенное количество постов с помощью функции get_posts()?

Для получения определенного количества постов можно использовать аргумент numberposts.

Например, чтобы получить 10 последних постов, можно передать значение 10 в аргумент numberposts:

get_posts( array(
    'numberposts' => 10
) );

Этот код вернет массив объектов типа WP_Post с последними 10 постами.

Как получить посты из определенной категории с помощью функции get_posts()?

Функция get_posts() позволяет получить массив последних постов или постов, соответствующих заданным критериям. Она принимает необязательный аргумент $args, который представляет собой массив параметров для получения постов.

Один из доступных параметров — category. Он может принимать значение ID категории или список ID категорий, разделенных запятыми. Этот параметр позволяет получить посты только из определенной категории или ее дочерних категорий.

Пример использования:


$args = array(
    'category' => 5, // ID категории
);
$posts = get_posts($args);

В этом примере мы получаем все посты из категории с ID равным 5.

Как получить посты с определенными ID с помощью функции get_posts()?

Еще один полезный параметр функции get_posts()include. Он принимает массив ID постов, которые нужно получить. При этом будут включены прикрепленные посты.

Пример использования:


$args = array(
    'include' => array(1, 2, 3), // Массив ID постов
);
$posts = get_posts($args);

В этом примере мы получаем посты с ID равными 1, 2 и 3.

Как исключить определенные посты из результатов функции get_posts()?

Для исключения определенных постов из результатов функции get_posts() используется параметр exclude. Он принимает массив ID постов, которые необходимо исключить.

Пример использования:


$args = array(
    'exclude' => array(4, 5, 6), // Массив ID постов
);
$posts = get_posts($args);

В этом примере мы получаем все посты, кроме тех, у которых ID равны 4, 5 и 6.

Как отключить фильтры при использовании функции get_posts()?

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


$args = array(
    'suppress_filters' => true
);
$posts = get_posts( $args );

Как получить посты определенного автора с помощью функции get_posts()?

Если вам нужно получить посты, написанные определенным автором, вы можете использовать параметр author. В качестве значения можно указать ID автора или список ID, разделенных запятыми.


$args = array(
    'author' => 1
);
$posts = get_posts( $args );

Как получить посты с определенными категориями (AND) с помощью функции get_posts()?

Для получения постов с определенными категориями можно использовать параметр category__and. В качестве значения нужно указать массив ID категорий, которые должны быть у постов.


$args = array(
    'category__and' => array(1, 2)
);
$posts = get_posts( $args );

Функция get_posts() является мощным инструментом для получения постов в WordPress. Она позволяет получить последние посты или посты, соответствующие заданным критериям. С помощью различных параметров можно настроить запрос и получить нужные результаты. Кроме того, функция позволяет отключить фильтры, применяемые к результатам запроса. Это особенно полезно, когда требуется получить «сырые» данные без изменений. Также, с помощью функции можно получить посты определенного автора или с определенными категориями. Все это делает функцию get_posts() незаменимым инструментом для разработчиков WordPress.

Связанные элементы

  • Функция get_post(): Возвращает объект поста по указанному ID.
  • Функция get_post_field(): Возвращает значение указанного поля поста.
  • Функция get_post_meta(): Возвращает значение мета-поля указанного поста.
  • Функция get_post_thumbnail_id(): Возвращает ID изображения, прикрепленного к указанному посту.
  • Функция get_post_type(): Возвращает тип указанного поста.
  • Функция get_post_status(): Возвращает статус указанного поста.
  • Функция get_post_permalink(): Возвращает постоянную ссылку на указанный пост.
  • Функция get_post_time(): Возвращает время создания указанного поста.
  • Функция get_post_modified_time(): Возвращает время последнего изменения указанного поста.
Обсуждение