get_feed_build_date() – Get the UTC time of the most recently modified post from WP_Query.

You appear to be a bot. Output may be restricted

Description

Gets the UTC time of the most recently modified post from WP_Query.

If viewing a comment feed, the time of the most recently modified comment will be returned.

Usage

$string|false = get_feed_build_date( $format );

Parameters

$format
( string ) required – Date format string to return the time in.

Returns

string|false The time in requested format, or false on failure.

Source

File name: wordpress/wp-includes/feed.php
Lines:

1 to 44 of 44
function get_feed_build_date( $format ) {
  global $wp_query;

  $datetime          = false;
  $max_modified_time = false;
  $utc               = new DateTimeZone( 'UTC' );

  if ( ! empty( $wp_query ) && $wp_query->have_posts() ) {
    // Extract the post modified times from the posts.
    $modified_times = wp_list_pluck( $wp_query->posts, 'post_modified_gmt' );

    // If this is a comment feed, check those objects too.
    if ( $wp_query->is_comment_feed() && $wp_query->comment_count ) {
      // Extract the comment modified times from the comments.
      $comment_times = wp_list_pluck( $wp_query->comments, 'comment_date_gmt' );

      // Add the comment times to the post times for comparison.
      $modified_times = array_merge( $modified_times, $comment_times );
    }

    // Determine the maximum modified time.
    $datetime = date_create_immutable_from_format( 'Y-m-d H:i:s', max( $modified_times ), $utc );
  }

  if ( false === $datetime ) {
    // Fall back to last time any post was modified or published.
    $datetime = date_create_immutable_from_format( 'Y-m-d H:i:s', get_lastpostmodified( 'GMT' ), $utc );
  }

  if ( false !== $datetime ) {
    $max_modified_time = $datetime->format( $format );
  }

  
/**
 * Filters the date the last post or comment in the query was modified.
 *
 * @since 5.2.0
 *
 * @param string|false $max_modified_time Date the last post or comment was modified in the query, in UTC.
 *                                        False on failure.
 * @param string       $format            The date format requested in get_feed_build_date().
 */
  return apply_filters( 'get_feed_build_date', $max_modified_time, $format );
}
 

 View on GitHub View on Trac