Как использовать функцию GET_COMMENTS_NUMBER() в WordPress

# Функция 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!

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *