# Функция GET_COMMENTS_NUMBER()
Функция get_comments_number() позволяет узнать, сколько комментариев оставлено к конкретной записи (посту) в WordPress.
---
## Использование функции
Эта функция используется в других функциях, таких как get_comments_number_text() и comments_popup_link().
**Время выполнения:**
- 1 раз — 0.000631 сек (медленно)
- 50000 раз — 1.09 сек (быстро)
---
## Хуки функции
Функция используется с хуком:
- get_comments_number
---
## Возвращаемое значение
Функция возвращает одно из следующих значений:
- **Строка** или **Целое число**. Если пост существует, то возвращается строка с количеством комментариев. Если поста нет — возвращается 0.
---
## Как использовать
Чтобы получить количество комментариев к посту, используйте следующий синтаксис:
```php
get_comments_number( $post );
Параметры:
- $post (int|WP_Post) — ID поста или объект WP_Post. По умолчанию используется глобальный пост
$post.
Примеры использования
Пример 1: Создание аналога функции comments_number() с использованием get_comments_number()
$num_comments = get_comments_number(); // возвращает (int)
if ( comments_open() ) {
if ( $num_comments == 0 ) {
$comments = __('Нет комментариев');
} elseif ( $num_comments > 1 ) {
$comments = $num_comments . __(' Комментариев');
} else {
$comments = __('1 Комментарий');
}
$write_comments = ''. $comments.'';
} else {
$write_comments = __('Комментирование отключено для этого поста.');
}
Пример 2: Получение количества комментариев из данных поста
В качестве альтернативы, вы можете получить количество комментариев из переменной $post:
global $post;
echo $post->comment_count; // например, 123
Пример 3: Получение количества комментариев для конкретного поста
$post = get_post( 123 );
echo get_comments_number( $post ); // например, 54
// Или
echo get_comments_number( 123 ); // например, 54
Изменения функции
Функция get_comments_number() была введена в версии 1.5.0.
Код функции
Вот как выглядит код функции get_comments_number() в WordPress 6.7.2:
function get_comments_number( $post = 0 ) {
$post = get_post( $post );
$comments_number = $post ? $post->comment_count : 0;
$post_id = $post ? $post->ID : 0;
/**
* Фильтр для количества комментариев к посту.
*
* @since 1.5.0
*
* @param string|int $comments_number Количество комментариев поста, иначе 0.
* @param int $post_id ID поста.
*/
return apply_filters( 'get_comments_number', $comments_number, $post_id );
}
Связанные функции
Вот некоторые функции, которые могут оказаться полезными при работе с комментариями:
cancel_comment_reply_link()— ссылка для отмены ответа на комментарий.comment_author_email_link()— ссылка на email автора комментария.comment_form()— форма для добавления комментария.get_comments_link()— ссылка на страницу комментариев.
Заключение
Функция get_comments_number() предоставляет простой способ узнать количество комментариев к посту. Это очень полезно для отображения информации о постах на вашем сайте. Пользуйтесь этой функцией, чтобы увеличить вовлеченность пользователей на вашем сайте WordPress!