Функция get_next_post()
в WordPress используется для получения следующего поста, который следует за текущим постом в заданной таксономии. Эта функция может быть полезна для навигации между постами на сайте, позволяя пользователям легко переходить к следующему содержимому.
get_next_post( bool $in_same_term = false, int[]|string $excluded_terms = '', string $taxonomy = 'category' ): WP_Post|null|string
Параметры
- $in_same_term (bool, необязательный): Определяет, должен ли следующий пост находиться в том же таксономическом термине, что и текущий пост. По умолчанию —
false
. - $excluded_terms (int[]|string, необязательный): Массив или строка с ID терминов, которые нужно исключить из выборки. По умолчанию — пустая строка.
- $taxonomy (string, необязательный): Название таксономии, если установлен параметр
$in_same_term
. По умолчанию —'category'
.
Возвращаемое значение
Функция возвращает объект WP_Post
, если следующий пост найден, или null
, если глобальная переменная $post
не установлена. Если следующего поста не существует, функция возвращает пустую строку.
Пример 1: Получение следующего поста в текущей категории
В этом примере мы получаем следующий пост, который находится в той же категории, что и текущий пост.
$next_post = get_next_post(true);
if (is_a($next_post, 'WP_Post')) {
echo '<a href="' . get_permalink($next_post->ID) . '">' . esc_html($next_post->post_title) . '</a>';
}
// Выводит ссылку на следующий пост в текущей категории.
Пример 2: Получение следующего поста без учета определенных категорий
В этом примере мы исключаем посты из категорий с ID 4 и 8.
$next_post_excluded = get_next_post(false, '4,8');
if (is_a($next_post_excluded, 'WP_Post')) {
echo '<a href="' . get_permalink($next_post_excluded->ID) . '">' . esc_html($next_post_excluded->post_title) . '</a>';
}
// Выводит ссылку на следующий пост, исключая указанные категории.
Пример 3: Получение следующего поста в пользовательской таксономии
В этом примере мы получаем следующий пост из пользовательской таксономии custom_tax
.
$next_post_custom_tax = get_next_post(true, '', 'custom_tax');
if (is_a($next_post_custom_tax, 'WP_Post')) {
echo '<a href="' . get_permalink($next_post_custom_tax->ID) . '">' . esc_html($next_post_custom_tax->post_title) . '</a>';
}
// Выводит ссылку на следующий пост в пользовательской таксономии.
Пример 4: Вывод следующего поста без дополнительных условий
В этом примере мы просто получаем следующий пост, не применяя фильтры.
$next_post_simple = get_next_post();
if (is_a($next_post_simple, 'WP_Post')) {
echo '<a href="' . get_permalink($next_post_simple->ID) . '">' . esc_html($next_post_simple->post_title) . '</a>';
}
// Выводит ссылку на следующий пост без каких-либо условий.
Заключение
Функция get_next_post()
предоставляет возможность легко навигировать по постам вашего сайта, улучшая взаимодействие с контентом. Используя её, вы можете создавать плавные переходы между постами в заданной категории или таксономии, что повышает удобство пользования вашим сайтом.