WordPress.org

Make WordPress Core

Ticket #4575: 4575_8.diff

File 4575_8.diff, 3.7 KB (added by stevenkword, 5 years ago)

Refresh @ 4.7.2

  • src/wp-includes/feed-atom-comments.php

     
    4242        <subtitle type="text"><?php bloginfo_rss('description'); ?></subtitle>
    4343
    4444        <updated><?php
    45                 $date = get_lastcommentmodified( 'GMT' );
     45                $date = get_last_build_date();
    4646                echo $date ? mysql2date( 'Y-m-d\TH:i:s\Z', $date, false ) : date( 'Y-m-d\TH:i:s\Z' );
    4747        ?></updated>
    4848
  • src/wp-includes/feed-atom.php

     
    3131        <subtitle type="text"><?php bloginfo_rss("description") ?></subtitle>
    3232
    3333        <updated><?php
    34                 $date = get_lastpostmodified( 'GMT' );
     34                $date = get_last_build_date();
    3535                echo $date ? mysql2date( 'Y-m-d\TH:i:s\Z', $date, false ) : date( 'Y-m-d\TH:i:s\Z' );
    3636        ?></updated>
    3737
  • src/wp-includes/feed-rss2-comments.php

     
    4848        <link><?php (is_single()) ? the_permalink_rss() : bloginfo_rss("url") ?></link>
    4949        <description><?php bloginfo_rss("description") ?></description>
    5050        <lastBuildDate><?php
    51                 $date = get_lastcommentmodified( 'GMT' );
     51                $date = get_last_build_date();
    5252                echo $date ? mysql2date( 'r', $date, false ) : date( 'r' );
    5353        ?></lastBuildDate>
    5454        <sy:updatePeriod><?php
  • src/wp-includes/feed-rss2.php

     
    4343        <link><?php bloginfo_rss('url') ?></link>
    4444        <description><?php bloginfo_rss("description") ?></description>
    4545        <lastBuildDate><?php
    46                 $date = get_lastpostmodified( 'GMT' );
     46                $date = get_last_build_date();
    4747                echo $date ? mysql2date( 'r', $date, false ) : date( 'r' );
    4848        ?></lastBuildDate>
    4949        <language><?php bloginfo_rss( 'language' ); ?></language>
  • src/wp-includes/feed.php

     
    8989}
    9090
    9191/**
     92 * Get the timestamp of the most recently modified post from WP_Query
     93 *
     94 * If viewing a comment feed, the date of the most recently modified
     95 * comment will be returned.
     96 *
     97 * @since 4.8.0
     98 *
     99 * @return string Date ('Y-m-d H:i:s' for use with mysql2date() )
     100 */
     101function get_last_build_date() {
     102        global $wp_query;
     103
     104        if ( $wp_query->have_posts() ) {
     105                // Determine max post time
     106                $post_ids = wp_list_pluck( $wp_query->posts, 'ID' );
     107                $post_times = wp_list_pluck( $wp_query->posts, 'post_modified_gmt' );
     108                $max_post_time = max( $post_times );
     109
     110                // If this is a comment feed, check those objects too
     111                if ( $wp_query->is_comment_feed() && $wp_query->have_comments() ) {
     112                        $comments_query = new WP_Comment_Query;
     113                        $comments = $comments_query->query( array(
     114                                'post__in' => $post_ids
     115                        ) );
     116
     117                        // Determine the max comment time
     118                        $comment_times = wp_list_pluck( $comments, 'comment_date_gmt' );
     119                        $max_comment_time = max( $comment_times );
     120
     121                        // Return the most recent timestamp between posts and comments
     122                        return max( $max_post_time, $max_comment_time );
     123                }
     124                // Return the most recent post timestamp if there are no comments to consider
     125                return $max_post_time;
     126        }
     127
     128        // Fallback to last time any post was modified or published
     129        return get_lastpostmodified( 'GMT' );
     130 }
     131
     132/**
    92133 * Retrieve the blog title for the feed title.
    93134 *
    94135 * @since 2.2.0