wpseek.com
WordPress开发者和主题制作者的搜索引擎



get_post_time › WordPress Function

Since2.0.0
已弃用n/a
get_post_time ( $format = 'U', $gmt = false, $post = null, $translate = false )
参数: (4)
  • (string) $format Optional. Format to use for retrieving the time the post was written. Accepts 'G', 'U', or PHP date format. Default 'U'.
    Required: No
    默认: 'U'
  • (bool) $gmt Optional. Whether to retrieve the GMT time. Default false.
    Required: No
    默认: false
  • (int|WP_Post) $post Post ID or post object. Default is global `$post` object.
    Required: No
    默认: null
  • (bool) $translate Whether to translate the time string. Default false.
    Required: No
    默认: false
返回:
  • (string|int|false) Formatted date string or Unix timestamp if `$format` is 'U' or 'G'. False on failure.
定义在:
文档:

Retrieves the time at which the post was written.



源码

function get_post_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, 'date', $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 written.
	 *
	 * @since 2.6.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 written.
	 *                           Accepts 'G', 'U', or PHP date format.
	 * @param bool       $gmt    Whether to retrieve the GMT time.
	 */
	return apply_filters( 'get_post_time', $time, $format, $gmt );
}