функция
since 2.0.0
get_comment_count()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
get_comment_count( int $post_id ): int[]
Описание
Получает общее количество комментариев для всего сайта или отдельной записи.
Параметры
$post_id
int
необязательный
Ограничивает подсчёт комментариев указанной записью. Значение по умолчанию 0, что означает получение количества комментариев для всего сайта.
Возвращаемое значение
int[]
approved intКоличество одобренных комментариев. awaiting_moderation intКоличество комментариев, ожидающих модерации (то есть на рассмотрении). spam intКоличество спам-комментариев. trash intКоличество комментариев в корзине. post-trashed intКоличество комментариев для записей, находящихся в корзине. total_comments intОбщее количество комментариев не в корзине, включая спам. all intОбщее количество комментариев на рассмотрении или одобренных.
Исходный код
wp-includes/comment.php:406
function get_comment_count( $post_id = 0 ) {
$post_id = (int) $post_id;
$comment_count = array(
'approved' => 0,
'awaiting_moderation' => 0,
'spam' => 0,
'trash' => 0,
'post-trashed' => 0,
'total_comments' => 0,
'all' => 0,
);
$args = array(
'count' => true,
'update_comment_meta_cache' => false,
'orderby' => 'none',
);
if ( $post_id > 0 ) {
$args['post_id'] = $post_id;
}
$mapping = array(
'approved' => 'approve',
'awaiting_moderation' => 'hold',
'spam' => 'spam',
'trash' => 'trash',
'post-trashed' => 'post-trashed',
);
$comment_count = array();
foreach ( $mapping as $key => $value ) {
$comment_count[ $key ] = get_comments( array_merge( $args, array( 'status' => $value ) ) );
}
$comment_count['all'] = $comment_count['approved'] + $comment_count['awaiting_moderation'];
$comment_count['total_comments'] = $comment_count['all'] + $comment_count['spam'];
return array_map( 'intval', $comment_count );
}
История изменений
| Версия | Описание |
|---|---|
| 2.0.0 | Introduced. |

