Функция NEXT_POST_LINK() в WordPress
Функция next_post_link() помогает создать ссылку на следующий пост, который появился позже текущего, основываясь на дате публикации. Эта функция может работать с разными таксономиями, но по умолчанию использует категорию.
Использование функции
Эту функцию нужно применять внутри цикла WordPress, известного как Loop.
Важно: Не путайте эту функцию с
next_posts_link(), которая выводит ссылку на список следующих постов, а не на отдельный пост.
Для вывода ссылки на предыдущий пост используйте функцию previous_post_link().
Параметры функции
next_post_link( $format, $link, $in_same_term, $excluded_terms, $taxonomy );
-
$format(string) - Формат ссылки.%linkбудет заменён на HTML-тег<a>. Пример:'%link →'выведет<a ...> →.- По умолчанию:
'%link'
- По умолчанию:
-
$link(string) - Формат текста ссылки.%titleбудет заменён на заголовок поста.- По умолчанию:
'%title'
- По умолчанию:
-
$in_same_term(true/false) - Определяет, должна ли ссылка быть в той же таксономии.true- получить следующий пост из текущей категории. Если пост в пользовательской таксономии, укажите параметр$taxonomy.- По умолчанию:
false
- По умолчанию:
-
$excluded_terms(array/string) - Массив или строка, разделённая запятыми, с ID исключённых терминов. Можно указать строку или массив:'1,5,15'илиarray(1,5,15).- По умолчанию:
''
- По умолчанию:
-
$taxonomy(string) - Название таксономии для параметра$in_same_term.- По умолчанию:
'category'
- По умолчанию:
Примеры использования
1. Ссылка на следующий пост
Вывести ссылку на следующий пост в жирном формате:
%link'); ?>
Вывод:
Заголовок Поста
2. Следующий пост из текущей категории
Вывести ссылку на следующий пост из текущей категории с текстом "Следующий из текущей категории":
3. Исключение категории
Вывести ссылку на следующий пост, игнорируя посты из категории 13:
4. Использование таксономий
Вывести ссылку на следующий пост в заданной таксономии, например battle_cat:
5. Циклический вывод
Если никакого следующего поста нет, вместо него вывести первый пост:
/**
* Циклический вывод предыдущего и следующего поста в WordPress
*/
if( get_adjacent_post(false, '', true) ) {
previous_post_link('%link', '← Предыдущий пост');
} else {
$first = new WP_Query('posts_per_page=1&order=DESC');
$first->the_post();
echo '← Предыдущий пост';
wp_reset_postdata();
};
if( get_adjacent_post(false, '', false) ) {
next_post_link('%link', 'Следующий пост →');
} else {
$last = new WP_Query('posts_per_page=1&order=ASC');
$last->the_post();
echo 'Следующий пост →';
wp_reset_postdata();
};
Замечания
- Функция
next_post_link()является обёрткой дляget_next_post_link(), которая фактически и генерирует HTML-код ссылки на следующий пост.
Изменения
- Функция
next_post_link()была введена в версии WordPress 1.5.0.
Теперь вы знаете, как использовать функцию next_post_link() в WordPress! Если у вас есть вопросы или примеры, не стесняйтесь делиться ими.