the_date()WP 0.71

Выводит на экран или получает дату публикации поста или группы постов (опубликованные в один день). Используется в цикле WordPress.

Предназначена только для использования внутри Цикла WordPress.

Дата публикации группы постов означает, что для постов опубликованных в одни день, дата выводиться только для первого поста. Т.е., для каждого следующего поста в цикле, функция проверяет в какой день опубликован этот пост, и если дата текущего поста и предыдущего совпадают, то для этого поста дата не выводиться.

Чтобы выводить дату для всех постов (с версии 3.0) нужно использовать функции: the_time() или get_the_date().

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

Работает на основе: get_the_date(), is_new_day()
1 раз — 0.000604 сек (медленно) | 50000 раз — 1.38 сек (быстро) | PHP 7.2.5, WP 4.9.6
Хуки из функции

Возвращает

Строку|null.

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

<?php the_date( $format, $before, $after, $echo ); ?>
$format(строка)
Формат даты (в PHP). Например, j F Y выведет "6 ноября 2011". Подробнее смотрите здесь.
По умолчанию: формат установленный в настройках.
$before(строка)
Текст, который нужно написать перед датой.
По умолчанию: ""
$after(строка)
Текст, который нужно написать после даты.
По умолчанию: ""
$echo(логический)
Установите значение в false, если нужно получить результат, а не выводить его на экран.
По умолчанию: true

Примеры

4

#1 Выведем дату в формате установленном в настройках WordPress:

<p>Пост опубликован: <?php the_date(); ?></p>
2

#2 Выведем дату в формате 2007-07-23 и обернем её в тег <h2>:

<?php the_date( 'Y-m-d', '<h2>', '</h2>' ); ?>

Заметки

  • Global. Строка. $currentday The day of the current post in the loop.
  • Global. Строка. $previousday The day of the previous post in the loop.

Список изменений

С версии 0.71 Введена.

Код the_date() WP 6.4.3

function the_date( $format = '', $before = '', $after = '', $display = true ) {
	global $currentday, $previousday;

	$the_date = '';

	if ( is_new_day() ) {
		$the_date    = $before . get_the_date( $format ) . $after;
		$previousday = $currentday;
	}

	/**
	 * Filters the date a post was published for display.
	 *
	 * @since 0.71
	 *
	 * @param string $the_date The formatted date string.
	 * @param string $format   PHP date format.
	 * @param string $before   HTML output before the date.
	 * @param string $after    HTML output after the date.
	 */
	$the_date = apply_filters( 'the_date', $the_date, $format, $before, $after );

	if ( $display ) {
		echo $the_date;
	} else {
		return $the_date;
	}
}