WP_Comment_Query()

19 февраля, 2025
Получение и фильтрация комментариев WordPress с помощью функции WP_Comment_Query(): параметры, примеры, безопасность
Быстрая навигация по записи

Описание функции 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 . '<br>';
}
				
			

Выводит содержание комментариев для поста с 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 если пост не существует

Оставить комментарий

Нужна помощь с WordPress WooCommerce плагинами темой оптимизацией ?

Упрощаем сложное, создаем впечатляющее!
100% без риска
Нет обязательств по найму
Бесплатная оценка
5900 ₽
Автомобильный каталог
Шаблон авто сайта на русском языке, преображающий онлайн-сервисы для автодилеров и профессионалов автобизнеса. Стильный и интуитивно понятный дизайн обеспечивает быстрый поиск автомобиля мечты

Поможем вывести Ваш бизнес на новый уровень!

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил

Добро пожаловать!

Авторизуйтесь, чтобы продолжить

или

Забыли пароль? Восстановить

* Если аккунта у Вас еще нет, то он будет создан автоматически

Давайте составим техническое задание!
100% без риска
Нет обязательств по найму
Бесплатная оценка стоимости
Здравствуйте! Я асистент на основе искусственного интеллекта. Вы можете общаться со мной, как с человеком — задавайте вопросы, описывайте свои идеи и требования.

С удовольствием помогу вам составить техническое задание для вашего WordPress проекта. Если Вам нужна техническая поддержка по купленному у нас плагину или шаблону, то создайте тикет в личном кабинете.

Выберите подходящий вариант или опишите свою задачу в свободной форме, и я помогу вам составить четкий план действий, для оценки стоимости нашими разработчиками! 😊