Функция get_boundary_post()
в WordPress используется для получения первого или последнего поста по дате публикации в определенной таксономии, с учетом заданных параметров. Это может быть полезно для создания навигационных ссылок или вывода информации о постах в заданных категориях.
get_boundary_post( bool $in_same_term = false, int[]|string $excluded_terms = '', bool $start = true, string $taxonomy = 'category' ): array|null
Параметры
- $in_same_term (bool, необязательный): Определяет, нужно ли возвращать посты из того же термина, что и текущий пост. По умолчанию —
false
. - $excluded_terms (int[]|string, необязательный): Массив или строка с ID терминов, которые нужно исключить из выборки. По умолчанию — пустая строка.
- $start (bool, необязательный): Указывает, нужно ли получить первый (true) или последний (false) пост. По умолчанию —
true
. - $taxonomy (string, необязательный): Название таксономии, если установлен параметр
$in_same_term
. По умолчанию —'category'
.
Возвращаемое значение
Функция возвращает массив, содержащий объект поста, если пост найден, или null
, если посты не найдены или имеются другие ограничения.
Использование функции
Функция get_boundary_post()
может использоваться на страницах одиночных постов (is_single()), и она устанавливает указатель поста на первый пост в выборке.
Пример 1: Получение последнего поста в текущей категории
В этом примере мы получаем последний пост из той же категории, что и текущий пост.
$last_post = get_boundary_post(true, '', false);
if ($last_post) {
echo '<a href="' . get_permalink($last_post[0]->ID) . '">' . esc_html($last_post[0]->post_title) . '</a>';
}
// Выводит ссылку на последний пост: <a href="http://example.com/last-post">Заголовок последнего поста</a>
Пример 2: Получение первого поста на блоге
В этом примере мы получаем первый пост на сайте.
$first_post = get_boundary_post();
if ($first_post) {
echo '<a href="' . get_permalink($first_post[0]->ID) . '">' . esc_html($first_post[0]->post_title) . '</a>';
}
// Выводит ссылку на первый пост: <a href="http://example.com/first-post">Заголовок первого поста</a>
Пример 3: Получение последнего поста без учета определенных категорий
В этом примере мы исключаем посты из категорий с ID 3 и 7.
$last_post_excluded = get_boundary_post(false, '3,7', false);
if ($last_post_excluded) {
echo '<a href="' . get_permalink($last_post_excluded[0]->ID) . '">' . esc_html($last_post_excluded[0]->post_title) . '</a>';
}
// Выводит ссылку на последний пост, не учитывая указанные категории.
Пример 4: Получение последнего поста из пользовательской таксономии
В этом примере мы получаем последний пост из пользовательской таксономии my_tax
.
$last_post_custom_tax = get_boundary_post(false, '', false, 'my_tax');
if ($last_post_custom_tax) {
echo '<a href="' . get_permalink($last_post_custom_tax[0]->ID) . '">' . esc_html($last_post_custom_tax[0]->post_title) . '</a>';
}
// Выводит ссылку на последний пост из пользовательской таксономии.
Заключение
Функция get_boundary_post()
предоставляет гибкие возможности для получения постов по дате публикации с учетом определенных условий. Используя её, вы можете легко реализовать навигацию по постам на вашем сайте и улучшить пользовательский опыт.