Changeset 46974 for trunk/src/wp-includes/feed.php
- Timestamp:
- 12/17/2019 08:41:09 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/feed.php
r46823 r46974 649 649 650 650 /** 651 * Get the timestampof the most recently modified post from WP_Query.652 * 653 * If viewing a comment feed, the time stampof the most recently modified651 * Get the UTC time of the most recently modified post from WP_Query. 652 * 653 * If viewing a comment feed, the time of the most recently modified 654 654 * comment will be returned. 655 655 * … … 658 658 * @since 5.2.0 659 659 * 660 * @param string $format Format of the timestamp to return, passed to mysql2date. 661 * 662 * @return string The timestamp. 660 * @param string $format Date format string to return the time in. 661 * @return string|false The time in requested format, or false on failure. 663 662 */ 664 663 function get_feed_build_date( $format ) { 665 664 global $wp_query; 666 665 667 if ( empty( $wp_query ) || ! $wp_query->have_posts() ) { 668 // Fallback to last time any post was modified or published. 669 return get_lastpostmodified( 'GMT' ); 670 } 671 672 // Extract the post modified times from the posts. 673 $modified_times = wp_list_pluck( $wp_query->posts, 'post_modified_gmt' ); 674 675 // If this is a comment feed, check those objects too. 676 if ( $wp_query->is_comment_feed() && $wp_query->comment_count ) { 677 // Extract the comment modified times from the comments. 678 $comment_times = wp_list_pluck( $wp_query->comments, 'comment_date_gmt' ); 679 680 // Add the comment times to the post times for comparison. 681 $modified_times = array_merge( $modified_times, $comment_times ); 682 } 683 684 // Determine the maximum modified time. 685 $datetime = date_create_immutable_from_format( 686 'Y-m-d H:i:s', 687 max( $modified_times ), 688 new DateTimeZone( 'UTC' ) 689 ); 690 691 $max_modified_time = $datetime->format( $format ); 666 $datetime = false; 667 $max_modified_time = false; 668 $utc = new DateTimeZone( 'UTC' ); 669 670 if ( ! empty( $wp_query ) && $wp_query->have_posts() ) { 671 // Extract the post modified times from the posts. 672 $modified_times = wp_list_pluck( $wp_query->posts, 'post_modified_gmt' ); 673 674 // If this is a comment feed, check those objects too. 675 if ( $wp_query->is_comment_feed() && $wp_query->comment_count ) { 676 // Extract the comment modified times from the comments. 677 $comment_times = wp_list_pluck( $wp_query->comments, 'comment_date_gmt' ); 678 679 // Add the comment times to the post times for comparison. 680 $modified_times = array_merge( $modified_times, $comment_times ); 681 } 682 683 // Determine the maximum modified time. 684 $datetime = date_create_immutable_from_format( 'Y-m-d H:i:s', max( $modified_times ), $utc ); 685 } 686 687 if ( false === $datetime ) { 688 // Fall back to last time any post was modified or published. 689 $datetime = date_create_immutable_from_format( 'Y-m-d H:i:s', get_lastpostmodified( 'GMT' ), $utc ); 690 } 691 692 if ( false !== $datetime ) { 693 $max_modified_time = $datetime->format( $format ); 694 } 692 695 693 696 /** … … 696 699 * @since 5.2.0 697 700 * 698 * @param string $max_modified_time Date the last post or comment was modified in the query. 699 * @param string $format The date format requested in get_feed_build_date. 701 * @param string|false $max_modified_time Date the last post or comment was modified in the query, in UTC. 702 * False on failure. 703 * @param string $format The date format requested in get_feed_build_date(). 700 704 */ 701 705 return apply_filters( 'get_feed_build_date', $max_modified_time, $format );
Note: See TracChangeset
for help on using the changeset viewer.