get_comments()

Извлекает список комментариев
Функция WordPress
INT 2.7.0
WordPress Icon
Содержание
  1. Описание функции
  2. Примеры использования
  3. Получение списка комментариев по email автора
  4. Получение списка комментариев по URL автора
  5. Получение списка комментариев по ID автора
  6. Получение списка комментариев по ID комментариев
  7. Получение списка комментариев с учетом даты
  8. Получение списка комментариев с определенными полями
  9. Получение списка комментариев с учетом кармы
  10. Получение списка комментариев с определенными мета-ключами
  11. Получение списка комментариев с определенными мета-значениями
  12. Получение списка комментариев с определенным типом
  13. Получение списка комментариев для определенного пользователя
  14. Получение списка комментариев для определенного поста
  15. Получение списка комментариев с определенным статусом
  16. Получение списка комментариев с определенным типом и статусом
  17. Получение списка комментариев с учетом иерархии
  18. Вопросы и ответы
  19. Как получить список всех комментариев?
  20. Как получить количество найденных комментариев?
  21. Как получить комментарии определенного автора?
  22. Как получить комментарии с определенным статусом?
  23. Как получить комментарии, связанные с определенным постом?
  24. Как получить комментарии с определенным типом?
  25. Как получить комментарии, отсортированные по дате?
  26. Как получить комментарии, отсортированные по рейтингу?
  27. Как получить комментарии, отсортированные по автору?
  28. Связанные элементы

Описание функции

Функция get_comments() используется для получения списка комментариев.

Она выполняет запрос к базе данных WordPress и возвращает список комментариев, удовлетворяющих заданным параметрам.

Функция get_comments() является частью класса WP_Comment_Query, который предоставляет возможность выполнения сложных запросов к комментариям.

Использование

get_comments( string|array $args = '' ) : WP_Comment[]|int[]|int

Функция get_comments() принимает один параметр $args, который может быть строкой или массивом аргументов.

Аргументы определяют условия для выборки комментариев. Подробную информацию о принимаемых аргументах можно найти в документации к классу WP_Comment_Query.

  • $args (строка или массив) — Аргументы запроса комментариев. См. документацию к классу WP_Comment_Query для получения информации о принимаемых аргументах.

Функция get_comments() возвращает список комментариев или количество найденных комментариев, если аргумент $count равен true.

Возвращаемое значение может быть массивом объектов WP_Comment, массивом идентификаторов комментариев или числом.


$args = array(
    'author_email' => 'user@example.com',
    'post_id' => 123,
    'status' => 'approve',
    'number' => 10,
    'order' => 'DESC',
    'orderby' => 'comment_date',
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo 'Автор: ' . $comment->comment_author . '<br>';
    echo 'Дата: ' . $comment->comment_date . '<br>';
    echo 'Текст: ' . $comment->comment_content . '<br>';
}

В приведенном примере кода используются различные параметры для получения комментариев.

Функция get_comments() возвращает массив объектов WP_Comment, который затем можно использовать для вывода информации о каждом комментарии.

Примеры использования

Получение списка комментариев по email автора


$args = array(
    'author_email' => 'author@example.com',
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo $comment->comment_content;
}

Получение списка комментариев по URL автора


$args = array(
    'author_url' => 'http://example.com',
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo $comment->comment_content;
}

Получение списка комментариев по ID автора


$args = array(
    'author__in' => array( 1, 2, 3 ),
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo $comment->comment_content;
}

Получение списка комментариев по ID комментариев


$args = array(
    'comment__in' => array( 1, 2, 3 ),
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo $comment->comment_content;
}

Получение списка комментариев с учетом даты


$args = array(
    'date_query' => array(
        array(
            'after'     => '2022-01-01',
            'before'    => '2022-12-31',
            'inclusive' => true,
        ),
    ),
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo $comment->comment_content;
}

Получение списка комментариев с определенными полями


$args = array(
    'fields' => 'ids',
);
$comments = get_comments( $args );
foreach ( $comments as $comment_id ) {
    // Вывод информации о комментарии по ID
    $comment = get_comment( $comment_id );
    echo $comment->comment_content;
}

Получение списка комментариев с учетом кармы


$args = array(
    'karma' => 10,
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo $comment->comment_content;
}

Получение списка комментариев с определенными мета-ключами


$args = array(
    'meta_key' => 'key_name',
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo $comment->comment_content;
}

Получение списка комментариев с определенными мета-значениями


$args = array(
    'meta_value' => 'value_name',
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo $comment->comment_content;
}

Получение списка комментариев с определенным типом


$args = array(
    'type' => 'comment',
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo $comment->comment_content;
}

Получение списка комментариев для определенного пользователя


$args = array(
    'user_id' => 1,
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo $comment->comment_content;
}

Получение списка комментариев для определенного поста


$args = array(
    'post_id' => 1,
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo $comment->comment_content;
}

Получение списка комментариев с определенным статусом


$args = array(
    'status' => 'approve',
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo $comment->comment_content;
}

Получение списка комментариев с определенным типом и статусом


$args = array(
    'type'   => 'comment',
    'status' => 'approve',
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии
    echo $comment->comment_content;
}

Получение списка комментариев с учетом иерархии


$args = array(
    'hierarchical' => 'threaded',
);
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // Вывод информации о комментарии и его потомках
    echo $comment->comment_content;
    if ( $comment->has_children ) {
        $child_comments = get_comments( array( 'parent' => $comment->comment_ID ) );
        foreach ( $child_comments as $child_comment ) {
            // Вывод информации о потомке комментария
            echo $child_comment->comment_content;
        }
    }
}

Вопросы и ответы

Как получить список всех комментариев?

Для получения списка всех комментариев в WordPress используется функция get_comments(). Она возвращает массив объектов типа WP_Comment, представляющих комментарии.

Для вызова функции можно передать необязательный аргумент $args, который может быть строкой или массивом аргументов. В качестве аргументов можно использовать различные параметры, такие как:

  • author_email: email автора комментария
  • author_url: URL автора комментария
  • author__in: массив ID авторов, для которых нужно получить комментарии
  • author__not_in: массив ID авторов, комментарии которых нужно исключить
  • и другие…

Пример вызова функции:


$comments = get_comments( array(
  'author_email' => 'john@example.com',
  'number' => 10,
) );

Как получить количество найденных комментариев?

Для получения количества найденных комментариев можно использовать функцию get_comments() с аргументом $count, установленным в true. В этом случае функция вернет число найденных комментариев.

Пример вызова функции:


$count = get_comments( array(
  'count' => true,
) );

Как получить комментарии определенного автора?

Для получения комментариев определенного автора можно использовать функцию get_comments() с аргументом author__in, содержащим массив ID авторов, для которых нужно получить комментарии.

Пример вызова функции:


$comments = get_comments( array(
  'author__in' => array( 1, 2, 3 ),
) );

Как получить комментарии с определенным статусом?

Функция get_comments() позволяет получить список комментариев с определенным статусом. Для этого в параметре $args нужно указать значение 'status' с желаемым статусом комментариев.


$args = array(
    'status' => 'approved' // получить только одобренные комментарии
);
$comments = get_comments($args);

Как получить комментарии, связанные с определенным постом?

Чтобы получить комментарии, связанные с определенным постом, нужно указать в параметре $args значение 'post_id' с ID поста.


$args = array(
    'post_id' => 123 // получить комментарии для поста с ID 123
);
$comments = get_comments($args);

Как получить комментарии с определенным типом?

Если нужно получить комментарии с определенным типом, нужно указать в параметре $args значение 'type' с желаемым типом комментариев.


$args = array(
    'type' => 'comment' // получить только обычные комментарии
);
$comments = get_comments($args);

Как получить комментарии, отсортированные по дате?

Для получения комментариев, отсортированных по дате, используйте функцию get_comments() с параметром orderby, установленным в значение 'comment_date_gmt'. Это позволит отсортировать комментарии по дате и времени их создания в порядке от новых к старым.


$args = array(
    'orderby' => 'comment_date_gmt',
    'order' => 'DESC',
);
$comments = get_comments( $args );

Как получить комментарии, отсортированные по рейтингу?

Для получения комментариев, отсортированных по рейтингу, используйте функцию get_comments() с параметром orderby, установленным в значение 'comment_karma'. Это позволит отсортировать комментарии по их рейтингу, начиная с самых высоких.


$args = array(
    'orderby' => 'comment_karma',
    'order' => 'DESC',
);
$comments = get_comments( $args );

Как получить комментарии, отсортированные по автору?

Для получения комментариев, отсортированных по автору, используйте функцию get_comments() с параметром orderby, установленным в значение 'comment_author'. Это позволит отсортировать комментарии по имени автора в алфавитном порядке.


$args = array(
    'orderby' => 'comment_author',
    'order' => 'ASC',
);
$comments = get_comments( $args );

Функция get_comments() позволяет получить список комментариев в WordPress. С ее помощью вы можете получить комментарии, отсортированные по различным критериям, таким как дата, рейтинг и автор. Используйте параметры orderby и order для указания сортировки комментариев. Эта функция является мощным инструментом для работы с комментариями в WordPress и позволяет легко получать и управлять ими.

Связанные элементы

  • Функция wp_count_comments(): Возвращает количество комментариев, сгруппированных по их статусу.
  • Функция wp_get_comment_status(): Возвращает статус комментария.
  • Хук pre_get_comments: Позволяет изменить аргументы запроса комментариев перед выполнением запроса.
  • Класс WP_Comment_Query: Используется для выполнения запросов к базе данных для получения комментариев.
Обсуждение