WordPress как на ладони
wordpress jino

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.4

<?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

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

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

    1
    Ответить3.3 года назад #
    • Kama5064

      Нужно узнать 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
      Ответить3.3 года назад #
      • Алексей cайт: fermerinform.ru

        Это то что нужно, но подскажите плз как мне это у себя применить?

        Вот у меня такой код сейчас выводит дату http://joxi.ru/n2YnPKEfoPMZyA
        Но нужно выводить именно дату последнего коммента, как у вас в примере этом

        подскажите плз, что на что мне заменить нужно?

        Ответить2 месяца назад #
  • @ Marseo cайт: marseo.ru

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

    Ответить2.4 года назад #
    • Kama5064

      Попробуй получить комментарий, если нет, то выводи дату поста. Смотри функции 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 );
      }
      Ответить2.4 года назад #
      • @ Marseo cайт: marseo.ru

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

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

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

        Ответить2.4 года назад #
        • Kama5064

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

          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
          Ответить2.4 года назад #
          • @ Marseo cайт: marseo.ru

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

            Ответить2.4 года назад #

Здравствуйте, !

Ваш комментарий
Предпросмотр