WordPress как на ладони
wordpress jino

wp_count_comments() WP 2.5

Получает общее количество комментариев к посту или в целом к сайту.

Если нужно получить количество постов (опубликованных, черновиков, на утверждении и т.д.), используйте wp_count_posts().

Хуки из функции:
Возвращает

Объект со значениями:

stdClass Object
(
	[approved] => 49
	[total_comments] => 49
	[moderated] => 0
	[spam] => 0
	[trash] => 0
	[post-trashed] => 0
)

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

wp_count_comments( $post_id );
$post_id(число)
ID поста, для которого нужно получить данные о комментариях.
По умолчанию: нет

Примеры

#1 Получим количество комментариев для сайта в целом:

$comments_count = wp_count_comments();
echo "Статистика комментариев сайта: <br />";
echo "На модерации: " . $comments_count->moderated . "<br />"; 
echo "Утвержденные: " . $comments_count->approved . "<br />";
echo "Помеченные как спам: " . $comments_count->spam . "<br />";
echo "Комментов в корзине: " . $comments_count->trash . "<br />";
echo "Всего комментариев: " . $comments_count->total_comments . "<br />";

В итоге на экран выведется такая информация:

Статистика комментариев сайта:
На модерации: 0
Утвержденные: 4973
Помеченные как спам: 223
Комментов в корзине: 4
Всего комментариев: 4975

#2 Теперь, по аналогии, получим статистику комментариев для конкретного поста:

$comments_count = wp_count_comments( 140 );
echo "Статистика комментариев сайта: <br />";
echo "На модерации: " . $comments_count->moderated . "<br />"; 
echo "Утвержденные: " . $comments_count->approved . "<br />";
echo "Помеченные как спам: " . $comments_count->spam . "<br />";
echo "Комментов в корзине: " . $comments_count->trash . "<br />";
echo "Всего комментариев: " . $comments_count->total_comments . "<br />";

Получим:

Статистика комментариев поста 140:
На модерации: 0
Утвержденные: 49
Помеченные как спам: 0
Комментов в корзине: 0
Всего комментариев: 49

Код wp count comments: wp-includes/comment.php WP 4.8.2

<?php
function wp_count_comments( $post_id = 0 ) {
	$post_id = (int) $post_id;

	/**
	 * Filters the comments count for a given post.
	 *
	 * @since 2.7.0
	 *
	 * @param array $count   An empty array.
	 * @param int   $post_id The post ID.
	 */
	$filtered = apply_filters( 'wp_count_comments', array(), $post_id );
	if ( ! empty( $filtered ) ) {
		return $filtered;
	}

	$count = wp_cache_get( "comments-{$post_id}", 'counts' );
	if ( false !== $count ) {
		return $count;
	}

	$stats = get_comment_count( $post_id );
	$stats['moderated'] = $stats['awaiting_moderation'];
	unset( $stats['awaiting_moderation'] );

	$stats_object = (object) $stats;
	wp_cache_set( "comments-{$post_id}", $stats_object, 'counts' );

	return $stats_object;
}

Cвязанные функции

Из метки: count (подсчет количество)

Еще из раздела: Комментарии

Http://fabriz.ru/

http://fabriz.ru/ блог разнузданного гуманизма духи фабрики новая заря.

fabriz.ru

wp_count_comments Комментариев нет

Здравствуйте, !

Ваш комментарий