ВЫЗОВ И ОТОБРАЖЕНИЕ КОММЕНТАРИЕВ С ПАГИНАЦИЕЙ

ВЫЗОВ И ОТОБРАЖЕНИЕ КОММЕНТАРИЕВ С ПАГИНАЦИЕЙ

В этой статье мы разберём, как отображать комментарии пользователей в WordPress с постраничной навигацией (пагинацией). Для этого мы будем использовать класс WP_Comment_Query.

Общая информация о пагинации

Предположим, что мы хотим отображать комментарии на странице /user-comments. Мы будем использовать GET-параметр ?pagenum=10, чтобы указать номер страницы с комментариями. Мы также хотим выводить по 50 комментариев на каждой странице. Для создания HTML-кода пагинации мы будем использовать функцию paginate_links().

Пример кода

Вот пример, который показывает, как реализовать пагинацию для комментариев:

$per_page = 50; // Количество комментариев на странице
$pagenum = $_GET['pagenum'] ?? 1; // Получаем номер страницы, если он указан
$offset = ($pagenum - 1) * $per_page; // Расчет смещения для текущей страницы

// Шаблон для формирования URL с пагинацией
$paged_url_patt = home_url( preg_replace( '/[?&].*/', '', $_SERVER['REQUEST_URI'] ) ) .'?pagenum=%#%';

// Создание нового объекта WP_Comment_Query
$query = new WP_Comment_Query;
$comments = $query->query([
'order' => 'DESC', // Порядок сортировки комментариев
'user_id' => $user_id, // ID пользователя
'offset' => $offset, // Смещение для текущей страницы
'number' => $per_page, // Количество комментариев на странице
'no_found_rows' => false, // Не исключать количество строк
]);

// Получаем общее количество страниц
$max_pages = (int) $query->max_num_pages;

// Генерация HTML-кода пагинации
$paginate_links = paginate_links([
'base' => $paged_url_patt,
'current' => $pagenum,
'total' => $max_pages
]);

echo $paginate_links; // Выводим HTML-код пагинации

Результат

В результате выполнения кода вы получите следующий HTML-код для пагинации:


1
2
3
4
5

75

Заключение

Теперь вы знаете, как выводить комментарии пользователей с пагинацией в WordPress. Этот подход поможет вам организовать удобное отображение большого количества комментариев, что улучшит взаимодействие пользователей с вашим сайтом. Подобная структура позволяет легко просматривать комментарии на разных страницах, что удобно как для пользователей, так и для администраторов сайта.

Leave a Reply

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