get_boundary_post()
Получает первый или последний пост на сайта (по дате публикации).
Первый или последний пост можно получить из таксономии текущей записи (поста). Также можно указать элементы таксономии, посты в которых не нужно учитывать. См. параметры: $in_same_term и $excluded_terms.
Функция устанавливает указатель поста на первый пост.
Хуков нет.
Возвращает
Массив|null
.
- Массив — когда удалось получить данные.
- Пустой массив — когда постов нет (например, на сайте нет постов).
- null — когда:
- глобальная переменная $post не установлена.
- или текущая страница не is_single().
- или текущая страница is_attachment().
- или указанной таксономии не существует.
Использование
get_boundary_post( $in_same_term, $excluded_terms, $start, $taxonomy );
- $in_same_term(логический)
- Нужно ли выбирать посты из того же термина что и текущий пост.
true - нужно получить первый/последний пост из того же термина (категории) что и текущая запись.
По умолчанию: false - $excluded_terms(строка/массив)
- ID терминов (через запятую или в виде массива), посты в которых не будут учитываться при определении первого или последнего поста.
По умолчанию: '' - $start(логический)
- true, если нужно показать первый пост. false, если нужно показать последний пост.
По умолчанию: true - $taxonomy(строка)
- Название таксономии для параметра $excluded_categories.
По умолчанию: 'category'
Примеры
#1 Выведем заголовок последней записи из текущей категории
Под текущей категорией понимается: категории к которой относится пост, подразумевается что функция вызывается на странице поста.
$last = get_boundary_post( true, '', false )[0]; echo $last->post_title;
#2 Получим первый пост на блоге
$first_post = get_boundary_post()[0]; echo $first_post->post_title;
#3 Другие примеры
// последний пост на блоге, не считая категорий 5 и 20 $last_post = get_boundary_post( false, '5,20', true )[0]; // последний пост из категории текущего поста $last_post_of_the_cat = get_boundary_post( true, '', false )[0]; // последний пост из таксономии my_tax $last_post = get_boundary_post( false, '', true, 'my_tax' )[0];
#4 Что возвращает функция
$boundary_post = get_boundary_post(); /* Array ( [0] => WP_Post Object ( [ID] => 1000 [post_author] => 1 [post_date] => 2009-05-15 14:48:32 [post_date_gmt] => 2009-05-15 21:48:32 [post_content] => Текст поста [post_title] => Edge Case: Nested And Mixed Lists [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => edge-case-nested-and-mixed-lists [to_ping] => [pinged] => [post_modified] => 2009-05-15 14:48:32 [post_modified_gmt] => 2009-05-15 21:48:32 [post_content_filtered] => [post_parent] => 0 [guid] => http://wptest.io/demo/?p=1000 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw ) ) */
Массив содержит объекты постов. Каждый объект поста WP_Post содержит следующие элементы:
- ID(число)
- Идентификатор.
- post_author(число)
- Идентификатор автора записи.
- post_date(строка)
- Дата записи в формате YYYY-MM-DD HH:MM:SS (с учетом исправления времени).
- post_date_gmt(строка)
- Дата записи в формате YYYY-MM-DD HH:MM:SS (время по Гринвичу (GMT)).
- post_content(строка)
- Текст записи.
- post_title(строка)
- Заголовок записи.
- post_excerpt(строка)
- Цитата записи.
- post_status(строка)
- Статут записи, может быть: publish|pending|draft|private|static|object|attachment|inherit|future|trash.
- comment_status(строка)
- Возможность комментирования для записи, может быть: open|closed|registered_only.
- ping_status(строка)
- Статус пингов/трэкбэков, может быть: open|closed.
- post_password(строка)
- Пароль записи.
- post_name(строка)
- Имя записи (слаг). Название которое обычно используется в УРЛ-е.
- to_ping(строка)
- УРЛ-ы из статьи, на которые нужно отправить уведомления при обновлении поста.
- pinged(строка)
- УРЛ-ы из статьи, которые уже получили уведомления.
- post_modified(строка)
- Дата изменения записи в формате YYYY-MM-DD HH:MM:SS (с учетом корректировки времени).
- post_modified_gmt(число/строка)
- Дата изменения записи в формате YYYY-MM-DD HH:MM:SS (время по Гринвичу (GMT)).
- post_parent(число)
- ID родительской страницы (отлично от нуля у прикрепленных типов записей).
- guid(строка)
- Ссылка на запись. Важно: использовать этот параметр в качестве постоянной ссылки для поста неправильно, если версия вашего WordPress выше 2.5. Это уникальный идентификатор записи, который позднее стал ссылкой на запись.
- menu_order(число)
- Порядковый номер для построения меню (используется для постоянных страниц).
- post_type(строка)
- Тип записи (post|page|attachment).
- post_mime_type(строка)
- Миме тип записи (jpg|png|zip|pdf и т.д.). Используется для прикрепленных записей.
- comment_count(число)
- Количество комментариев у записи.
Список изменений
С версии 2.8.0 | Введена. |