Функция get_comments_pagenum_link(): использование и примеры

## Функция get_comments_pagenum_link()

Функция get_comments_pagenum_link() используется для получения ссылки на страницу с комментариями. Она полезна, когда нужно организовать навигацию между страницами с комментариями на сайте WordPress.

### Используется в

- get_previous_comments_link()
- get_next_comments_link()

### Производительность

- 1 раз — 0.00016 сек (быстро)
- 50000 раз — 5.76 сек (быстро)

### Хуки

- get_comments_pagenum_link

### Возвращаемое значение

Функция возвращает строку, содержащую URL ссылки на страницу с комментариями.

### Синтаксис

```php
get_comments_pagenum_link( $pagenum, $max_page );

Параметры

  • $pagenum (int): Номер страницы (по умолчанию 1).
  • $max_page (int): Максимальное количество страниц комментариев.

Примеры использования

Пример 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

Примечание

  • Глобальная переменная: $wp_rewrite — компонент системы переписывания URL в WordPress.

Код функции

Вот как выглядит реализация функции get_comments_pagenum_link():


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

$pagenum  = (int) $pagenum;
$max_page = (int) $max_page;

$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';

return apply_filters( 'get_comments_pagenum_link', $result );

}

Связанные функции

  • get_comment_pages_count()
  • get_next_comments_link()
  • get_page_of_comment()
  • get_previous_comments_link()
  • get_the_comments_navigation()
  • paginate_comments_links()
  • previous_comments_link()
  • the_comments_navigation()
  • the_comments_pagination()

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *