get_comments_pagenum_link() WP 2.7.0

Отримує посилання на вказану сторінку пагінації коментарів запису.

Функція призначена для використання лише на окремих сторінках типу is_singular() .

Функція додає сторінку коментаря до поточного УРЛ запису, з урахуванням встановлених налаштувань ЧПУ та установок у $wp_rewrite які відносяться до сторінок коментарів, наприклад параметр $wp_rewrite->comments_pagination_base, в якому зазвичай зберігається рядок comment-page.

Працює на основі:
get_permalink() ,
user_trailingslashit()
1 раз – 0.00016 сек
(швидко) | 50000 разів – 5.76 сек
(швидко)

Хуки з функції

Повертає

Строку. УРЛ на сторінку пагінації коментарів запису.

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

get_comments_pagenum_link($pagenum, $max_page);
$pagenum
(число)
Номер сторінки пагінації, посилання на яку потрібно отримати.


За замовчуванням: 1
$max_page
(число)
Номер останньої сторінки пагінації коментарів, щоб на цій сторінці до УРЛ не дописувалася додаткова частина
/comment-page-5.


За замовчуванням: 0 (без обмежень)

Приклади

0

#1 Отримаємо посилання на сторінку пагінації коментарів поточної сторінки

Припустимо, ми знаходимося на сторінці http://example.com/page . Тоді ось так буде працювати функція, за різних параметрів

echo get_comments_pagenum_link( 5 );
// отримаємо: http://example.com/page/comment-page-5#comments

echo get_comments_pagenum_link( 5, 6 );
// отримаємо: http://example.com/page/comment-page-5#comments

echo get_comments_pagenum_link( 5, 4 );
// отримаємо: http://example.com/page/comment-page-5#comments

echo get_comments_pagenum_link( 5, 5 );
// Отримаємо: http://example.com/page#comments

нотатки

  • Global. WP_Rewrite. $wp_rewrite WordPress rewrite component.

список змін

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

Код get_comments_pagenum_link() WP 6.0.2

function get_comments_pagenum_link( $pagenum = 1, $max_page = 0 ) {
	global $wp_rewrite;

	$pagenum = (int) $pagenum;

	$result = get_permalink();

	if ( 'newest' === get_option( 'default_comments_page' ) ) {
		if ( $pagenum != $max_page ) {
			if ( $wp_rewrite->using_permalinks() ) {
				$result = user_trailingslashit( trailingslashit( $result ) . $wp_rewrite->comments_pagination_base . '-' . $pagenum, 'commentpaged' );
			} else {
				$result = add_query_arg( 'cpage', $pagenum, $result );
			}
		}
	} elseif ( $pagenum > 1 ) {
		if ( $wp_rewrite->using_permalinks() ) {
			$result = user_trailingslashit( trailingslashit( $result ) . $wp_rewrite->comments_pagination_base . '-' . $pagenum, 'commentpaged' );
		} else {
			$result = add_query_arg( 'cpage', $pagenum, $result );
		}
	}

	$result .= '#comments';

	/**
	 * Filters comments page number link for current request.
	 *
	 * @ Since 2.7.0
	 *
	 * @param string $result Коментар page number link.
	 */
	return apply_filters( 'get_comments_pagenum_link', $result );
}

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

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