WordPressで投稿した時刻がRSSフィードでGMT標準時刻にずれてしまう現象の解決方法。
また、twentyseventeenだとGoogleWEBマスターで<lastBuildDate>が「日付の値が無効です。 日付または書式設定を修正してから、再送信してください。」というエラーになってしまいます。これは書式設定で日本語にローカライズしているのが原因です。
/wp-includes/feed-rss2.phpを編集します
1 2 3 4 5 6 |
<lastBuildDate><?php $date = get_lastpostmodified(); echo $date ? mysql2date( 'D, d M Y H:i:s +0900', $date, false ) : date( 'D, d M Y H:i:s +0900' ); ?></lastBuildDate> <pubDate><?php echo mysql2date('D, d M Y H:i:s +0900', get_post_time('Y-m-d H:i:s', false), false); ?></pubDate> |
/wp-includes/feed-rss2-comments.phpを編集します
コメントフィードを使用しない場合はこの修正は必要ありません。
1 2 3 4 5 6 7 |
<lastBuildDate><?php $date = get_lastcommentmodified(); echo $date ? mysql2date( 'r', $date ) : date( 'r' ); ?></lastBuildDate> <pubDate><?php echo mysql2date('D, d M Y H:i:s +0900', get_comment_time('Y-m-d H:i:s', false, false), false); ?></pubDate> |
修正後、feedにアクセスして確認して完了。