get_comments_number()WP 1.5.0

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

Используется в Цикле WordPress.

Получает значение поля $post->comment_count

В отличие от comments_number() эта функция возвращает число, а не строку.

1 раз — 0.000631 сек (медленно) | 50000 раз — 1.09 сек (быстро)
Хуки из функции

Возвращает

Строку|int. Количество комментариев.

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

$my_var = get_comments_number( $post_id );
$post_id(число/объект)
ID поста, количество комментариев которого мы хотим получить.
По умолчанию: текущий пост

Примеры

0

#1 Создадим аналог функции comments_number() с использованием get_comments_number():

$num_comments = get_comments_number(); // возвратит число

if ( comments_open() ) {
	if ( $num_comments == 0 ) {
		$comments = __('No Comments');
	} elseif ( $num_comments > 1 ) {
		$comments = $num_comments . __(' Comments');
	} else {
		$comments = __('1 Comment');
	}
	$write_comments = '<a href="' . get_comments_link() .'">'. $comments.'</a>';
} else {
	$write_comments =  __('Comments are off for this post.');
}
0

#2 Количество комментариев из данных поста

В качестве альтернативы этой функции, количество комментариев поста можно получить из данных поста в переменной $post: $post->comment_count:

global $post;
echo $post->comment_count;

Список изменений

С версии 1.5.0 Введена.

Код get_comments_number() WP 6.5.2

function get_comments_number( $post = 0 ) {
	$post = get_post( $post );

	$comments_number = $post ? $post->comment_count : 0;
	$post_id         = $post ? $post->ID : 0;

	/**
	 * Filters the returned comment count for a post.
	 *
	 * @since 1.5.0
	 *
	 * @param string|int $comments_number A string representing the number of comments a post has, otherwise 0.
	 * @param int        $post_id Post ID.
	 */
	return apply_filters( 'get_comments_number', $comments_number, $post_id );
}