# WP_Comment_Query — Класс для Запроса Комментариев в WordPress
WP_Comment_Query — это основной класс, используемый для получения комментариев в WordPress. Этот класс позволяет строить запросы для извлечения комментариев на основе заданных параметров.
## Подключаемые Хуки
Класс предоставляет несколько хуков, которые можно использовать для настройки поведения запросов:
- **parse_comment_query**
- **pre_get_comments**
- **comments_pre_query**
- **the_comments**
- **comments_clauses**
- **found_comments_query**
## Использование
Чтобы начать работать с WP_Comment_Query, создайте новый экземпляр класса:
```php
$comment_query = new WP_Comment_Query();
// Используйте методы класса
Методы Класса
Вот основные методы, доступные в классе WP_Comment_Query:
__call($name, $arguments): Позволяет вызывать несуществующие методы.__construct($query = ''): Конструктор, инициализирующий класс с заданными параметрами.fill_descendants($comments): Заполняет дочерние комментарии.get_comment_ids(): Получает идентификаторы комментариев.get_comments(): Возвращает список комментариев.get_search_sql($search, $columns): Формирует SQL-запрос для поиска по нескольким колонкам.parse_order($order): Обрабатывает порядок сортировки.parse_orderby($orderby): Обрабатывает поля для сортировки.parse_query($query = ''): Подготавливает параметры запроса.query($query): Выполняет запрос на основе заданных параметров.set_found_comments(): Устанавливает количество найденных комментариев.
Примеры
Пример 1: Основной Запрос Комментариев
$comment_query = new WP_Comment_Query([
'author_email' => '', // Email автора
'number' => 10, // Количество комментариев для получения
'orderby' => 'comment_date', // Сортировка по дате комментария
'order' => 'DESC', // Порядок сортировки
]);
foreach ($comment_query->comments as $comment) {
echo esc_html($comment->comment_author); // Выводим имя автора комментария
}
Пример 2: Работа с Несколькими Полями Meta
Если вам нужно получить комментарии с определенными метаданными, вы можете использовать следующий код:
$args = [
'meta_query' => [
'relation' => 'AND', // Связь между условиями
[
'key' => 'featured', // Ключ метаданных для фильтрации
'value' => '1', // Значение ме��аданного
],
[
'key' => 'buried',
'value' => '1',
'compare' => '!=', // Сравнение "не равно"
]
]
];
$comment_query = new WP_Comment_Query($args);
Примечания
Обратите внимание: Перед использованием методов класса рекомендуется ознакомиться с документацией к классу WP_Comment_Query, чтобы понять, какие параметры принимать.
Частые Изменения
- С версии 3.1.0: Введен класс
WP_Comment_Query.
Связанные Функции
Также вы можете использовать следующие функции для работы с комментариями:
add_comment_meta()get_comment_author()get_comments_number_text()wp_allow_comment()wp_spam_comment()