get_lastpostdate()WP 0.71

Retrieve the date that the last post was published.

The server timezone is the default and is the difference between GMT and server time. The 'blog' value is the date when the last post was posted. The 'gmt' is when the last post was posted in GMT formatted date.

1 time — 0.001661 sec (very slow) | 50000 times — 0.20 sec (very fast) | PHP 7.0.5, WP 4.4.2
Hooks from the function


String. The date of the last post, or false on failure.


get_lastpostdate( $timezone, $post_type );
The timezone for the timestamp. Accepts 'server', 'blog', or 'gmt'. 'server' uses the server's internal timezone. 'blog' uses the post_date field, which proxies to the timezone set for the site. 'gmt' uses the post_date_gmt field.
Default: 'server'
The post type to check.
Default: 'any'



#1 Demo

echo get_lastpostdate( $timezone = 'server', $post_type = 'any' );
// output: 2016-04-05 17:56:29.000000

echo get_lastpostdate( $timezone = 'blog', $post_type = 'post' );
// output: 2016-03-05 01:46:44

echo get_lastpostdate( $timezone = 'gmt', $post_type = 'post' );
// output: 2016-03-04 20:46:44


Since 0.71 Introduced.
Since 4.4.0 The $post_type argument was added.

get_lastpostdate() code WP 6.4.3

function get_lastpostdate( $timezone = 'server', $post_type = 'any' ) {
	$lastpostdate = _get_last_post_time( $timezone, 'date', $post_type );

	 * Filters the most recent time that a post on the site was published.
	 * @since 2.3.0
	 * @since 5.5.0 Added the `$post_type` parameter.
	 * @param string|false $lastpostdate The most recent time that a post was published,
	 *                                   in 'Y-m-d H:i:s' format. False on failure.
	 * @param string       $timezone     Location to use for getting the post published date.
	 *                                   See get_lastpostdate() for accepted `$timezone` values.
	 * @param string       $post_type    The post type to check.
	return apply_filters( 'get_lastpostdate', $lastpostdate, $timezone, $post_type );