get_the_comments_navigation() WP 4.4.0

Отримує посилання на попередню/наступну сторінку коментарів, якщо такі посилання існують. Використовується на сторінках записів у блоці коментарів.

Якщо результат цієї функції потрібно відразу вивести на екран, використовуйте the_comments_navigation()

Основа для:
the_comments_navigation()
1 раз – 0.00276 сек
(дуже повільно) | 50000 разів – 5.96595 сек
(швидко)

Хуків немає.

Повертає

Строку. Готовий HTMl код блоку пагінації для коментарів.

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

get_the_comments_navigation ($ args);
$args
(масив)

Параметри блоку, що виводиться у вигляді масиву. Може бути:

  • prev_text (рядок)
    Текст анкору посилання для попередніх коментарів.
    За замовчуванням: “Попередні коментарі”

  • next_text (рядок)
    Текст анкору посилання для наступних коментарів.
    За замовчуванням: “Наступні коментарі”

  • screen_reader_text (рядок)
    Текст для роботів, що читають код. Використовується для навігаційного блоку.
    За промовчанням “Навігація за коментарями”

  • aria_label (рядок) (WP 5.5)
    Значення атрибуту area-label=""< nav> елемента.
    Типово: __( ‘Posts’ )

  • class (рядок) (WP 5.5)
    Значення атрибуту class=""< nav> елемента.
    За замовчуванням: ‘post-navigation’

За замовчуванням: array()

Приклади

0

#1 Демонстрація роботи.

Допустимо у запису 44 коментарі і ми знаходимося на другій сторінці пагінації коментарів, тоді:

$html = get_the_comments_navigation();

$html міститиме:

<nav class="navigation comment-navigation" role="navigation">

	<h2 class="screen-reader-text">Comments Navigation</h2>

	<div class="nav-links">
		<div class="nav-previous">
			<a href="http://example.com/foo/comment-page-1#comments">Previous comments</a>
		</div>
		<div class="nav-next">
			<a href="http://example.com/foo/comment-page-3#comments">Next comments</a>
		</div>
	</div>

</nav>

список змін

З версії 4.4.0Введено.
З версії 5.3.0Added aria_label parameter.
З версії 5.5.0Added the class parameter.

Код get_the_comments_navigation() WP 6.0.2

function get_the_comments_navigation( $args = array() ) {
	$navigation = '';

	// Ще є коментарі до навігації через?
	if ( get_comment_pages_count() > 1 ) {
		// Make sure the nav element has aria-label attribute: fallback to the screen reader text.
		if ( ! empty( $args['screen_reader_text'] ) && empty( $args['aria_label'] ) ) {
			$args['aria_label'] = $args['screen_reader_text'];
		}

		$args = wp_parse_args(
			$args,
			array(
				'prev_text' => __( 'Older comments' ),
				'next_text' => __( 'Newer comments' ),
				'screen_reader_text' => __( 'Comments navigation' ),
				'aria_label' => __( 'Comments' ),
				'class' => 'comment-navigation',
			)
		);

		$prev_link = get_previous_comments_link( $args['prev_text'] );
		$next_link = get_next_comments_link( $args['next_text'] );

		if ( $prev_link ) {
			$navigation .= '<div class="nav-previous">' . $prev_link. '</div>';
		}

		if ( $next_link ) {
			$navigation .= '<div class="nav-next">' . $next_link. '</div>';
		}

		$navigation = _navigation_markup( $navigation, $args['class'], $args['screen_reader_text'], $args['aria_label'] );
	}

	return $navigation;
}

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

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