get_page_of_comment()
— это функция WordPress, которая вычисляет, на какой странице пагинации комментариев отображается конкретный комментарий. Эта функция полезна, когда комментарии на сайте разбиваются на страницы, и требуется определить точное местоположение комментария.
get_page_of_comment( int $comment_id, array $args = array() ): int|null
Аргументы:
$comment_id
(int) — обязательный. ID комментария, для которого нужно определить страницу.$args
(array) — опциональный. Ассоциативный массив аргументов:'type'
(string) — Указывает тип комментариев для расчета страницы. Принимает'comment'
,'trackback'
,'pingback'
,'pings'
(только трекбеки и пингбеки) или'all'
(по умолчанию).'per_page'
(int) — Количество комментариев на странице. По умолчанию берется из настроек'comments_per_page'
.'max_depth'
(int|string) — Глубина вложенности комментариев. Если больше 1, будет определяться для родительского комментария.
Возвращаемое значение:
- Возвращает номер страницы комментария (int) или
null
в случае ошибки.
Применение функции:
Функция полезна, когда необходимо сгенерировать ссылку на конкретный комментарий в условиях, когда включена пагинация комментариев.
Пример 1: Получение номера страницы пагинации комментария
Допустим, вам нужно узнать, на какой странице отображается комментарий с ID 12345.
$comment_id = 12345;
$page_number = get_page_of_comment( $comment_id );
if ( ! is_null( $page_number ) ) {
echo "Комментарий находится на странице №" . $page_number;
} else {
echo "Не удалось определить страницу для комментария.";
}
Результат:
Комментарий находится на странице №5.
Пример 2: Генерация ссылки на комментарий
Чтобы получить ссылку на конкретный комментарий с учётом пагинации, можно использовать get_comment_link()
в связке с get_page_of_comment()
.
$comment_id = 12345;
$comment_link = get_comment_link( $comment_id );
if ( $comment_link ) {
echo "Ссылка на комментарий: " . $comment_link;
} else {
echo "Не удалось сгенерировать ссылку на комментарий.";
}
Результат:
Ссылка на комментарий: http://example.com/hello-world/comment-page-7#comment-12345
Хуки
Функция предоставляет два хука, которые могут быть использованы для изменения поведения:
get_page_of_comment_query_args
— позволяет модифицировать аргументы для запроса.get_page_of_comment
— позволяет изменить возвращаемое значение функции перед выводом.
Заключение
Функция get_page_of_comment()
играет важную роль при работе с комментариями и пагинацией на сайтах WordPress. Она позволяет точно определять страницу комментария и использовать эту информацию, например, при генерации ссылок на комментарии в сложных структурах обсуждений.