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.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 ); }