get_comments_number()
Получает количество всех комментариев поста, включая уведомления и пинги.
Используется в Цикле WordPress.
Получает значение поля $post->comment_count
В отличие от comments_number() эта функция возвращает число, а не строку.
Основа для: get_comments_number_text(), comments_popup_link()
1 раз — 0.000631 сек (медленно) | 50000 раз — 1.09 сек (быстро)
Хуки из функции
Возвращает
Строку|int. Количество комментариев.
Использование
$my_var = get_comments_number( $post_id );
- $post_id(число/объект)
- ID поста, количество комментариев которого мы хотим получить.
По умолчанию: текущий пост
Примеры
#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.');
} #2 Количество комментариев из данных поста
В качестве альтернативы этой функции, количество комментариев поста можно получить из данных поста в переменной $post: $post->comment_count:
global $post; echo $post->comment_count;
Список изменений
| С версии 1.5.0 | Введена. |
Код get_comments_number() get comments number WP 6.9.4
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 );
}