WP_Comment_Query: получение комментариев в WordPress

# 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:

  1. __call($name, $arguments): Позволяет вызывать несуществующие методы.
  2. __construct($query = ''): Конструктор, инициализирующий класс с заданными параметрами.
  3. fill_descendants($comments): Заполняет дочерние комментарии.
  4. get_comment_ids(): Получает идентификаторы комментариев.
  5. get_comments(): Возвращает список комментариев.
  6. get_search_sql($search, $columns): Формирует SQL-запрос для поиска по нескольким колонкам.
  7. parse_order($order): Обрабатывает порядок сортировки.
  8. parse_orderby($orderby): Обрабатывает поля для сортировки.
  9. parse_query($query = ''): Подготавливает параметры запроса.
  10. query($query): Выполняет запрос на основе заданных параметров.
  11. 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()

Leave a Reply

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