wordpress:date
時刻表記
DokuWikiの時刻表記を変えたので、WordPressの表記も変えたくなった。
参考URL
PHPマニュアル 関数 date
WordPressの時刻表記
設定→一般に、日付と時刻の表示フォーマット指定がある。
RSSフィードの時刻表記
How WordPress Produces Feeds
https://codex.wordpress.org/Customizing_Feeds
によると、wp-includes の
- feed-rss2.php — RSS 2.0
- feed-rss.php — RSS 0.92
- feed-rdf.php — RDF/RSS 1.0
- feed-atom.php — Atom
- feed-atom-comments.php — コメントのAtom
- feed-rss2-comments.php — コメントのRSS 2.0
がフィード作っていることがわかる。
- feed.php — 上記のプログラムの共通関数
feed.php の function get_feed_build_date( $format ) が時刻表記を生成している関数なので、その関数のなかの適当なところに
// Format 'r' -> 'D, d M Y H:i:s O', 'H:i:s' -> '00:00:00' if ( strcmp( $format, 'r' ) == 0 ) $format = 'D, d M Y H:i:s O'; $format = str_replace('H:i:s', '00:00:00', $format);
というコードを追加する。$format はPHPのdate()関数に渡される引数で、'r'はRFC 2822の形式、すなわち 'D, d M Y H:i:s O' を意味する。
RSS2.0は get_feed_build_date() 介さずに、直接 mysql2date() を呼び出しているので、
feed-rss2.php と feed-rss2-comments.php の中にある以下の行を
<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 00:00:00 +0000', get_post_time( 'Y-m-d H:i:s', true ), false ); ?></pubDate>
いずれも H:i:s を 00:00:00 に置き換えているだけだ。
ping
WordPressの更新pingにも当然時刻は含まれている気がするけれど、こちらは単純にpingを停止するだけの対応にとどめておく。
wordpress/date.txt · 最終更新: 2019/07/28 by 管理者