next_post_link() WP 1.5.0

Виводить посилання на наступний за датою пост із зазначеної таксономії (за умовчанням category).

Використовується на сторінках типу is_single() .

Працює з global $post .

Не плутайте дуже схожу за назвою функцію next_posts_link() , яка виводить посилання на сторінку зі списком наступних постів, а не посилання на окремий наступний пост.

Нотатка для параметра $in_same_cat . Якщо запис перебуває у кількох категоріях одночасно, то підбір записів буде з усіх цих рубрик. Наприклад, може вийти, що поточний запис знаходиться в рубриках 1 2 3, а наступний в 4 5. Таким чином, при переході за такими посиланнями, не вийде дивитися записи з однієї рубрики і користувача буде кидати з однієї рубрики в іншу.

Використовуйте previous_post_link() , щоб вивести посилання на попередній пост.

Працює на основі:
get_next_post_link()
1 раз – 0.006833 сек
(дуже повільно) | 50000 разів – 16.31 сек
(повільно) |
PHP 7.1.5, WP 4.8.1

Хуків немає.

Повертає

null.

Використання

<?php next_post_link( $format, $link, $in_same_cat, $excluded_terms, $taxonomy ); ?>
$format
(рядок)
Формат посилання. Контролює, що буде до і після посилання. Тег
%linkу рядку буде замінено на посилання. Наприклад
'Перейти к %link', виведе
Перейти к Название статьи. Також у рядку можна використовувати параметр
%date, тоді до тексту посилання буде додано ще й дату публікації посту.


Типово: ‘%link »’
$link
(рядок)
Текст посилання (Анкор). Тег
%titleбуде замінено заголовком статті.


За замовчуванням: %title
$in_same_cat
(логічний)
Якщо встановити цей параметр
trueабо
1, то буде виводитися посилання на наступну статтю з тієї ж категорії що і поточна.


Типово: false
$excluded_terms
(рядок)

ID категорії пости з яких не потрібно враховувати при доборі наступного посту. Можна вказати декілька категорій. Вказувати можна:

  • у масиві –'1,5,15'
  • через кому –array(1,5,15)
  • через слово and'1 and 5 and 15'

Якщо вказано наступний параметр $taxonomy , то потрібно вказувати відповідні терміни терміни.

Параметр не працює для постійних сторінок (page) та типів записів, у яких немає таксономій.

За замовчуванням: ”

$taxonomy
(рядок)
Назва таксономії посилання на запис з якого виходитиме.


Типово: ‘category’

Приклади

1

#1 Наступне посилання

Виведемо наступне за датою публікації посилання та виділимо його жирним (HTML тегом strong):

<?php next_post_link('<strong>%link</strong>'); ?>

Поверне: <a rel=”next” href=”/post_name”>Заголовок посту</a>

0

#2 З поточної категорії

Виведемо посилання на наступну статтю з поточної категорії з текстом – “Наступна стаття з категорії” замість заголовка статті:

<?php next_post_link('%link', 'Наступна стаття з категорії', true); ?>
0

#3 Виключимо категорію

Виведемо посилання на наступну за датою публікації статтю, але не з категорії 13 (статті з категорії 13 не враховуватимуться):

<?php next_post_link('%link', '%title', false, '13'); ?>
0

#4 Таксономія

Посилання на наступний запис із поточного терміну зазначеної таксономії. Потрібна нам таксономія називається battle_cat :

next_post_link( '%link', '<%title', true, '', 'battle_cat' );
0

#5 Зациклений висновок

Якщо необхідно зациклити висновок, тобто. якщо немає наступного запису, то вивести перший і навпаки, використовуйте такий код:

/**
 * Зациклений висновок попереднього та наступного посту в WordPress
 */
if( get_adjacent_post(false, '', true) ) {
	previous_post_link('%link', '← Previous Post');
}
else {
	$first = new WP_Query('posts_per_page=1&order=DESC');
	$first->the_post();

	echo '<a href="' . get_permalink() . '">← Попередній пост</a>';

	wp_reset_postdata();
};

if( get_adjacent_post(false, '', false) ) {
	next_post_link('%link', 'Next Post →');
}
else {
	$last = new WP_Query('posts_per_page=1&order=ASC');
	$last->the_post();

	echo '<a href="' . get_permalink() . '">Наступний пост →</a>';

	wp_reset_postdata();
}

нотатки

список змін

З версії 1.5.0Введено.

Код next_post_link() WP 6.0.2

function next_post_link( $format = '%link »', $link = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) {
	echo get_next_post_link( $format, $link, $in_same_term, $excluded_terms, $taxonomy );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *