WordPress как на ладони
WordPress темы и плагины за 250 рублей wordpress jino

get_the_date() WP 3.0.0

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

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

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

Используется в: the_date().
Работает на основе: mysql2date()
✈ 1 раз = 0.000723с = медленно | 50000 раз = 1.44с = быстро PHP 7.2.5, WP 4.9.6
Хуки из функции:
Возвращает

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

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

$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 VER 4.9.6

<?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 (дата время)

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

Еще из тегов шаблона: Записи: посты, страницы, ...

7 комментов
  • petrozavodsky750 cайт: alkoweb.ru

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

    Ответить4.1 года назад #
    • Kama5393

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

      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');
      3
      Ответить4.1 года назад #
  • Сергей3 cайт: sekretymastera.ru

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

    4
    Ответить3.5 года назад #
  • Роман

    Для стилизации даты нашел решение(может кому-то пригодится), можно отдельно стилизовать все переменные:

        echo '<div class="as-day">' . get_the_date('d') . '</div>';
    	echo '<div class="as-month">' . get_the_date('M') . '</div>';
    	echo '<div class="as-year">' . get_the_date('Y') . '</div>';

    Вставляем сами знаете куда… в single.php или в storefront-template-functions.php как в моем случае.

    PS c php не знаком, поэтому навоял такое…

    PS2 Статья очень помогла!

    1
    Ответить4 месяца назад #
  • У меня
    echo get_the_date('d.m.Y');
    выводит сегодняшнюю дату.

    Я вывожу на странице посты добавленные в избранное плагином Favorite Posts.
    Тайтл, изображение и доп. поле вывел так:

    <?php echo get_the_post_thumbnail( $item->post_id, 'thumbnail'); ?>
    <?php echo esc_html( get_the_title($item->post_id) ); ?>
    <?php echo get_post_meta( $item->post_id, 'profit', true ); ?>
    

    а дату никак не получается вывести.

    Ответить28 дней назад #
    • Kama5393

      Потому что эта функция для цикла основного. Во второй параметр get_the_date() объект или ID поста добавь...

      echo get_the_date( 'd.m.Y', $item->post_id );
      1
      Ответить28 дней назад #
Здравствуйте, !     Войти . Зарегистрироваться