WordPress как на ладони
Новые WordPress шаблоны Хостинг, VPS/VDS и отдельные сервера только на SSD дисках. 7 дней бесплатного тестирования.

get_comment_date() WP 1.5

Получает дату указанного комментария.

Является основой для: comment_date()
Работает на основе: mysql2date()
Хуки из функции:
Возвращает

Строку. Отформатированная дата комментария.

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

get_comment_date( $d, $comment_ID );
$d(строка)

Формат даты. По умолчанию, будет использован формат опции get_option('date_format'). Этот формат устанавливается в настройках сайта. Список форматов

По умолчанию: ''

$comment_ID(число/объект)
ID или объект комментария. Если оставить пустым, то будет использован текущий комментарий.
По умолчанию: 0

Примеры

#1. Получим дату комментария в нужно нам формате:

$d = "l, F jS, Y";
$comment_ID = 25;
$comment_date = get_comment_date( $d, $comment_ID );
echo $comment_date;

// Получим: "Среда, Ноябрь 6, 2013".

Код get_comment_date: wp-includes/comment-template.php VER 4.9.8

<?php
function get_comment_date( $d = '', $comment_ID = 0 ) {
	$comment = get_comment( $comment_ID );
	if ( '' == $d )
		$date = mysql2date(get_option('date_format'), $comment->comment_date);
	else
		$date = mysql2date($d, $comment->comment_date);
	/**
	 * Filters the returned comment date.
	 *
	 * @since 1.5.0
	 *
	 * @param string|int $date    Formatted date string or Unix timestamp.
	 * @param string     $d       The format of the date.
	 * @param WP_Comment $comment The comment object.
	 */
	return apply_filters( 'get_comment_date', $date, $d, $comment );
}

Cвязанные функции

Из метки: date time (дата время)

Еще из раздела: Циклы комментариев

Danya 50
Программист фрилансер. Кодингом на PHP занимаю с 2008 года.

Market-prof.com

Запчасти для ноутбуков по материалам market-prof.com.

market-prof.com

7 комментов
  • Михаил

    Подскажите, а как вывести дату последнего комментария к записи?

    1
    Ответить4 года назад #
    • Kama7019

      Нужно узнать ID последнего комментария поста и получить его дату. Это можно сделать так:

      // получим последний комментарий текущего поста
      $post_id = $post->ID;
      $last_comment = get_comments("post_id=$post_id&number=1");
      $last_comment_date = $last_comment[0]->comment_date;
      
      // получим дату в установленном в настройках формате
      $date = mysql2date( get_option('date_format'), $last_comment_date );
      echo $date;
      
      // выведет: 16.05.2014
      2
      Ответить4 года назад #
  • @ Marseo cайт: marseo.ru

    Приветствую, выше указанный код вывода даты комментария. Данный код выводит дату если комментарий есть. Как задать условие при котором дата будет выводится комментария, если он есть, если же нет, то дату публикации поста.

    Ответить3.1 года назад #
    • Kama7019

      Попробуй получить комментарий, если нет, то выводи дату поста. Смотри функции http://wp-kama.ru/function/get_comment http://wp-kama.ru/function/get_post
      Примерно будет так:

      // выводим дату коммента
      if( $comm = get_comment( $id = 15 ) ){
      	mysql2date('Y-m-d', $comm->comment_date );
      }
      // выводим дату поста
      elseif( $pst = get_post( $id = 16 ) ){
      	mysql2date('Y-m-d', $pst->post_date );
      }
      Ответить3.1 года назад #
      • @ Marseo cайт: marseo.ru

        Можно ещё вопрос задать, никак не соображу:

        Как в этой строчке задать последний комментарий у текущего поста?
        if( $comm = get_comment( $id = 15 ) )

        Без указания id = 15, автоматически чтобы определялся

        Ответить3.1 года назад #
        • Kama7019

          Последний коммента можно получить так:

          global $post;
          
          // выводим дату коммента
          if( $comms = get_comments( array('post_id' => $post->ID ) ) ){
          	$comm = array_shift( $comms );
          	mysql2date('Y-m-d', $comm->comment_date );
          }
          // выводим дату поста
          elseif( $pst = get_post( $id = 16 ) ){
          	mysql2date('Y-m-d', $pst->post_date );
          }
          1
          Ответить3.1 года назад #
          • @ Marseo cайт: marseo.ru

            Благодарствую великодушно, что-то меня эта функция ввела в тупизм. Пойду читать и изучать. Тоже пытался через get_comments, но у меня либо дата поста выводилась, либо последний комментарий общий. Никак post_id подцепить не мог.

            Ответить3.1 года назад #
Здравствуйте, !     Войти . Зарегистрироваться