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

get_the_date() WP 3.0.0

Получает дату создания текущего поста. формат вывода даты можно указать произвольный.

Эта функция отличается от Тега шаблона: the_date(), тем что она всегда выводит дату, даже если следующий (в цикле) пост был опубликован в тот же день (см. описание the_date()).

Чтобы изменить формат вывода, можно воспользоваться фильтром get_the_date.

Используется в: the_date().
Работает на основе: mysql2date()
Хуки из функции:
Возвращает

Строку, дату в указанном формате.

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

$date = get_the_date( $d, $post );
$d(строка)
Формат даты (в синтаксисе PHP). Все примеры форматов.
По умолчанию: формат даты указанный в настройках (Настройки - Основные).
$post(число/WP_Post)
ID или объект записи, дату которой нужно получить.
По умолчанию: null (текущая в цикле запись)

Примеры

#1. Базовый пример

Выведем дату поста внутри Цикла WordPress (the loop).

<span class="entry-date"><?php echo get_the_date(); ?></span>

#2. Укажем произвольный формат даты:

Пост опубликован: <?php echo get_the_date('n-j-Y'); ?>

Получим: Пост опубликован: 11-6-2011

Код get the date: wp-includes/general-template.php WP 4.8.2

<?php
function get_the_date( $d = '', $post = null ) {
	$post = get_post( $post );

	if ( ! $post ) {
		return false;
	}

	if ( '' == $d ) {
		$the_date = mysql2date( get_option( 'date_format' ), $post->post_date );
	} else {
		$the_date = mysql2date( $d, $post->post_date );
	}

	/**
	 * Filters the date a post was published.
	 *
	 * @since 3.0.0
	 *
	 * @param string      $the_date The formatted date.
	 * @param string      $d        PHP date format. Defaults to 'date_format' option
	 *                              if not specified.
	 * @param int|WP_Post $post     The post object or ID.
	 */
	return apply_filters( 'get_the_date', $the_date, $d, $post );
}

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

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

Еще из раздела: Записи: посты, страницы, ...

get_the_date 8 комментариев
  • NerZool

    В примере "2" опечатка с comment_date. Не?

    1
    Ответить5.5 лет назад #
  • Alic

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

    1
    Ответить5.2 лет назад #
  • petrozavodsky675 cайт: alkoweb.ru

    вопрос не совсем понятно со склонением русских месяце 12 Октябрь 2013 например как быть с этим как склонять их

    Ответить3.5 года назад #
    • Kama4486

      Вот фильтр для этого, его как плагин можно оформить:

      function russian_date( $tdate = '' ) {
      	if ( substr_count($tdate , '---') > 0 ) return str_replace('---', '', $tdate);
      
      	$treplace = array (
      		"Январь" => "января",
      		"Февраль" => "февраля",
      		"Март" => "марта",
      		"Апрель" => "апреля",
      		"Май" => "мая",
      		"Июнь" => "июня",
      		"Июль" => "июля",
      		"Август" => "августа",
      		"Сентябрь" => "сентября",
      		"Октябрь" => "октября",
      		"Ноябрь" => "ноября",
      		"Декабрь" => "декабря",
      
      		"January" => "января",
      		"February" => "февраля",
      		"March" => "марта",
      		"April" => "апреля",
      		"May" => "мая",
      		"June" => "июня",
      		"July" => "июля",
      		"August" => "августа",
      		"September" => "сентября",
      		"October" => "октября",
      		"November" => "ноября",
      		"December" => "декабря", 
      
      		"Sunday" => "воскресенье",
      		"Monday" => "понедельник",
      		"Tuesday" => "вторник",
      		"Wednesday" => "среда",
      		"Thursday" => "четверг",
      		"Friday" => "пятница",
      		"Saturday" => "суббота",
      
      		"Sun" => "вос.",
      		"Mon" => "пон.",
      		"Tue" => "вт.",
      		"Wed" => "ср.",
      		"Thu" => "чет.",
      		"Fri" => "пят.",
      		"Sat" => "суб.",
      
      		"th" => "",
      		"st" => "",
      		"nd" => "",
      		"rd" => ""
      	);
      	return strtr($tdate, $treplace);
      }
      
      add_filter('get_post_time', 'russian_date');
      add_filter('get_post_modified_time', 'russian_date');
      add_filter('get_the_modified_time', 'russian_date');
      add_filter('get_the_modified_date', 'russian_date');
      add_filter('get_comment_date', 'russian_date');
      add_filter('get_comment_time', 'russian_date');
      add_filter('get_the_date', 'russian_date');
      add_filter('get_the_time', 'russian_date');
      1
      Ответить3.4 года назад #
  • Сергей1 cайт: sekretymastera.ru

    Спасибо земляк. Без тебя долго бы искал, в каком файле сидит get_the_date. Посмотрю ка твои банеры good

    2
    Ответить2.7 года назад #
  • campusboy1832 cайт: wp-plus.ru

    Шаблон использования чуток другой, туда ещё объект записи можно передать. Сейчас столкнулся, когда выводил дату виджете с помощью get_posts на главной странице. Без передачи объекта он выводил дату последней записи.

    • Kama4486

      О чем речь, что-то не понял. Обновил описание функции немного...

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

Ваш комментарий