RSSフィードのpubDateが強制UTCになる
-
RSSで扱われるpubDateやlastBuildDateがUTC基準になるバグ?があります。
以下の設定をしても改善されません
1.使用テーマのfunctions.php内の設定項目
2.php.iniでtimezoneを「Asia/Tokyo」にする
3.wp-settings.phpのtimezoneをUTC+9にする以下の修正をWordpressコアファイルに行うことで修正されました。
■wp-includes/feed-atom.php
– <updated><?php echo mysql2date(‘Y-m-d\TH:i:s\Z’, get_lastpostmodified(‘GMT’), false); ?></updated>
+ <updated><?php echo mysql2date(‘Y-m-d\TH:i:s\Z’, get_lastpostmodified()); ?></updated>– <updated><?php echo get_post_modified_time(‘Y-m-d\TH:i:s\Z’, true); ?></updated>
– <published><?php echo get_post_time(‘Y-m-d\TH:i:s\Z’, true); ?></published>
+ <updated><?php echo get_post_modified_time(‘Y-m-d\TH:i:s\Z’, false); ?></updated>
+ <published><?php echo get_post_time(‘Y-m-d\TH:i:s\Z’, false); ?></published>■wp-includes/feed-rdf.php
– <dc:date><?php echo mysql2date(‘Y-m-d\TH:i:s\Z’, get_lastpostmodified(‘GMT’), false); ?></dc:date>
+ <dc:date><?php echo mysql2date(‘Y-m-d\TH:i:s\Z’, get_lastpostmodified(), false); ?></dc:date>– <dc:date><?php echo mysql2date(‘Y-m-d\TH:i:s\Z’, $post->post_date_gmt, false); ?></dc:date>
+ <dc:date><?php echo mysql2date(‘Y-m-d\TH:i:s\Z’, $post->post_date, false); ?></dc:date>■wp-includes/feed-rss2.php
– <lastBuildDate><?php echo mysql2date(‘D, d M Y H:i:s +0000’, get_lastpostmodified(‘GMT’), false); ?></lastBuildDate>
+ <lastBuildDate><?php echo mysql2date(‘D, d M Y H:i:s 0’, get_lastpostmodified(), false); ?></lastBuildDate>– <pubDate><?php echo mysql2date(‘D, d M Y H:i:s +0000’, get_post_time(‘Y-m-d H:i:s’, true), false); ?></pubDate>
+ <pubDate><?php echo mysql2date(‘D, d M Y H:i:s 0’, get_post_time(‘Y-m-d H:i:s’, false), false); ?></pubDate>■wp-includes/feed-rss.php
– <lastBuildDate><?php echo mysql2date(‘D, d M Y H:i:s +0000’, get_lastpostmodified(‘GMT’), false); ?></lastBuildDate>
+ <lastBuildDate><?php echo mysql2date(‘D, d M Y H:i:s 0’, get_lastpostmodified(), false); ?></lastBuildDate>毎度、アップデートされるたびにこの修正を行うのはキツく、wp-settings.phpにおけるtimezoneの設定が活かされない状況ですが、これはバグといえるのでしょうか?
それとも仕様なのでしょうか?
- トピック「RSSフィードのpubDateが強制UTCになる」には新たに返信することはできません。