get_post_modified_time()WP 2.0.0

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

Эта функция используется в других функциях и является основой. Чаще всего лучше использовать функцию-обертку вместо этой.

Работает на основе: mysql2date()
1 раз — 0.00003 сек (очень быстро) | 50000 раз — 0.34 сек (очень быстро) | PHP 7.0.8, WP 4.6.1
Хуки из функции

Возвращает

Строку|int|false. Дату в указанном формате или Unix штамп, если $id равен 'U' или 'G'. False при неудаче.

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

get_post_modified_time( $d, $gmt, $post, $translate );
$d(строка)
Формат, в котором нужно получить дату или время изменения записи. Возможные форматы.
По умолчанию: 'U'
$gmt(логический)
true - получить GMT время, false - время сайта.
По умолчанию: false
$post(число/WP_Post)
ID или объект записи, время изменения которой нужно получить.
По умолчанию: null (текущая запись)
$translate(логический)
Нужно ли переводить указанный формат. Переводятся строки вроде. November, Saturday.
По умолчанию: false

Примеры

0

#1 Примеры показывающие что выводит функция

echo get_post_modified_time(); //> 1472693996

echo get_post_modified_time('j M Y'); //> 1 Sep 2016

echo get_post_modified_time('j\ M Y', 0, null, 'перевод'); //> 1 Сен 2016

echo get_post_modified_time('H:i:s'); //> 01:39:56

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

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

Код get_post_modified_time() WP 6.5.2

function get_post_modified_time( $format = 'U', $gmt = false, $post = null, $translate = false ) {
	$post = get_post( $post );

	if ( ! $post ) {
		return false;
	}

	$source   = ( $gmt ) ? 'gmt' : 'local';
	$datetime = get_post_datetime( $post, 'modified', $source );

	if ( false === $datetime ) {
		return false;
	}

	if ( 'U' === $format || 'G' === $format ) {
		$time = $datetime->getTimestamp();

		// Returns a sum of timestamp with timezone offset. Ideally should never be used.
		if ( ! $gmt ) {
			$time += $datetime->getOffset();
		}
	} elseif ( $translate ) {
		$time = wp_date( $format, $datetime->getTimestamp(), $gmt ? new DateTimeZone( 'UTC' ) : null );
	} else {
		if ( $gmt ) {
			$datetime = $datetime->setTimezone( new DateTimeZone( 'UTC' ) );
		}

		$time = $datetime->format( $format );
	}

	/**
	 * Filters the localized time a post was last modified.
	 *
	 * @since 2.8.0
	 *
	 * @param string|int $time   Formatted date string or Unix timestamp if `$format` is 'U' or 'G'.
	 * @param string     $format Format to use for retrieving the time the post was modified.
	 *                           Accepts 'G', 'U', or PHP date format. Default 'U'.
	 * @param bool       $gmt    Whether to retrieve the GMT time. Default false.
	 */
	return apply_filters( 'get_post_modified_time', $time, $format, $gmt );
}