Получение даты комментария в WordPress: функция get_comment_date()

# Получение даты комментария в WordPress (GET_COMMENT_DATE())

Функция get_comment_date() позволяет получить дату текущего комментария. Это полезно, если вы хотите вывести дату комментария в нужном формате на вашем сайте.

## Как это работает?

Функция использует внутреннюю функцию mysql2date() для преобразования даты из базы данных в удобный формат.

### Хуки

Функция использует следующий хук:

- get_comment_date — позволяет изменять дату комментария перед выводом.

## Возвращаемое значение

Функция возвращает строку, содержащую дату комментария.

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

```php
get_comment_date( $format, $comment_id );

Параметры

  • $format (string): Формат даты в PHP. Опционально. По умолчанию используется формат, указанный в настройках WordPress.
  • $comment_id (int|WP_Comment): ID комментария или объект WP_Comment, для которого нужно получить дату. По умолчанию используется текущий комментарий.

Примеры использования

Пример 1: Получение даты комментария в заданном формате

$format = 'l, F jS, Y'; // Формат для даты
$comment_ID = 25; // ID комментария
$comment_date = get_comment_date( $format, $comment_ID );

echo $comment_date; // Например, "Wednesday, November 6, 2013"

Пример 2: Читаемая дата комментария

Создадим функцию, которая будет выводить время комментария в удобочитаемом формате:

function smk_get_comment_time( $comment_id = 0 ){
    return sprintf( 
        _x( '%s ago', 'Human-readable time', 'text-domain' ), 
        human_time_diff( 
            get_comment_date( 'U', $comment_id ), 
            current_time( 'timestamp' ) 
        )
    );
}

// Пример вызова
echo smk_get_comment_time( 25 ); // Например: "1 min ago"

Пример 3: Разные форматы даты

// Выводит что-то вроде: Monday 8th of August 2005
echo get_comment_date( 'l jS of F Y' );

// Выводит что-то вроде: Mon Mar 8 2012
echo get_comment_date( 'D M j Y' );

// Выводит 07/08/2017 (dd/mm/yyyy)
echo get_comment_date( 'd/m/Y' );

Краткий обзор функций, связанных с датой и временем

  • comment_date() — выводит дату комментария.
  • comment_time() — выводит время комментария.
  • current_time() — возвращает текущее время.
  • date_i18n() — форматирует дату с учетом локализации.
  • get_comment_time() — получает время комментария.

История изменений

  • С версии 1.5.0 — функция была введена.
  • С версии 4.4.0 — добавлена возможность передавать объект WP_Comment в качестве параметр�� $comment_id.

Код функции

Ниже представлен код функции get_comment_date() из файла wp-includes/comment-template.php:


function get_comment_date( $format = '', $comment_id = 0 ) {
$comment = get_comment( $comment_id );

$_format = ! empty( $format ) ? $format : get_option( 'date_format' );

$comment_date = mysql2date( $_format, $comment->comment_date );

/**
 * Фильтрует возвращаемую дату комментария.
 *
 * @since 1.5.0
 *
 * @param string|int $comment_date Форматированная дата или Unix timestamp.
 * @param string     $format       Формат даты в PHP.
 * @param WP_Comment $comment      Объект комментария.
 */
return apply_filters( 'get_comment_date', $comment_date, $format, $comment );

}

Leave a Reply

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