Feeds: Do not translate the `lastBuildDate` field in RSS feeds.

Props stevenkword.
Partial Merge of [39613] to the 4.7 branch.
Fixes #39141.


git-svn-id: https://develop.svn.wordpress.org/branches/4.7@39615 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Dion Hulse 2016-12-16 06:43:48 +00:00
parent 2e6ae93cf2
commit 7e49d80783
2 changed files with 28 additions and 1 deletions

View File

@ -44,7 +44,7 @@ do_action( 'rss_tag_pre', 'rss2' );
<description><?php bloginfo_rss("description") ?></description>
<lastBuildDate><?php
$date = get_lastpostmodified( 'GMT' );
echo $date ? mysql2date( 'D, d M Y H:i:s +0000', $date ) : date( 'D, d M Y H:i:s +0000' );
echo $date ? mysql2date( 'D, d M Y H:i:s +0000', $date, false ) : date( 'D, d M Y H:i:s +0000' );
?></lastBuildDate>
<language><?php bloginfo_rss( 'language' ); ?></language>
<sy:updatePeriod><?php

View File

@ -135,6 +135,33 @@ class Tests_Feeds_RSS2 extends WP_UnitTestCase {
$this->assertEquals( strtotime( get_lastpostmodified() ), strtotime( $pubdate[0]['content'] ) );
}
/**
* Test that translated feeds have a valid listed date.
* @group 39141
*/
function test_channel_pubdate_element_translated() {
$original_locale = $GLOBALS['wp_locale'];
/* @var WP_Locale $locale */
$locale = clone $GLOBALS['wp_locale'];
$locale->weekday[2] = 'Tuesday_Translated';
$locale->weekday_abbrev[ 'Tuesday_Translated' ] = 'Tue_Translated';
$GLOBALS['wp_locale'] = $locale;
$this->go_to( '/?feed=rss2' );
$feed = $this->do_rss2();
// Restore original locale.
$GLOBALS['wp_locale'] = $original_locale;
$xml = xml_to_array( $feed );
// Verify the date is untranslated.
$pubdate = xml_find( $xml, 'rss', 'channel', 'lastBuildDate' );
$this->assertNotContains( 'Tue_Translated', $pubdate[0]['content'] );
}
/**
* @ticket UT32
*/