Описание функции WP_Comment_Query()
Функция WP_Comment_Query() предоставляет возможность получения и фильтрации комментариев в WordPress. Она позволяет задавать различные параметры для выборки комментариев, такие как пост, автор, статус и дата. Результаты возвращаются в виде массива объектов WP_Comment, что упрощает работу с комментариями и их свойствами.
Функция используется в темах и плагинах для отображения комментариев на сайте.
Параметры
$args
Тип: array
Обязательный: Нет
По умолчанию: array()
Описание: Массив аргументов для запроса комментариев
Возможные значения:
post_id: ID поста, к которому относятся комментарии
user_id: ID автора комментария
status: approve, hold, spam, trash
orderby: comment_date, comment_author, comment_ID
order: ASC, DESC
number: Количество комментариев для получения
offset: Смещение для выборки комментариев
Возвращаемое значение
Тип: array
Описание: Массив объектов WP_Comment, представляющих комментарии
Возможные значения:
• Массив объектов WP_Comment при успешном выполнении
• Пустой массив если комментарии не найдены
• WP_Error в случае ошибки
Примеры использования
Базовый пример получения комментариев для определенного поста
$args = array('post_id' => 1);
$comments_query = new WP_Comment_Query();
$comments = $comments_query->query($args);
foreach($comments as $comment) {
echo $comment->comment_content . '
';
}
Выводит содержание комментариев для поста с ID 1
Получение одобренных комментариев для поста с ID 1
$args = array(
'post_id' => 1,
'status' => 'approve'
);
$comments = (new WP_Comment_Query())->query($args);
status=’approve’ фильтрует только одобренные комментарии
Проверка наличия комментариев и обработка ситуации, когда комментарии отсутствуют
$comments = (new WP_Comment_Query())->query(array('post_id' => 99));
if (empty($comments)) {
echo 'Нет комментариев для данного поста';
}
Пост с ID 99 может не существовать или не иметь комментариев
Безопасность
Валидация входных данных: Параметры проходят валидацию внутри функции
Санитизация: Параметры автоматически очищаются WordPress
Рекомендации: Используйте esc_html() для вывода содержания комментариев
— Связанные функции
Получает комментарии по заданным параметрам
Выводит комментарии в виде списка
— Хуки
Фильтрует массив комментариев перед их возвратом
Фильтрует аргументы перед выводом списка комментариев
— Примечания
– Ограничения
Может вернуть только комментарии, доступные для текущего пользователя
– Частые проблемы
- Пустой результат при неправильных параметрах
- Ошибка 404 если пост не существует