らぎめも

らぎらぎのノート

ユーザ用ツール

サイト用ツール


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.phpfeed-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 管理者

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki