understandard

2013-01-21

WordPress 日本語版で英語の日付表記をしたいとき用メモ

WordPress で記事の投稿日時の部分を英語表記にしたい場合、日本語版を使っていると the_timethe_date などでは意図したように出力されません。
the_time('M jS, Y'); などとすると、「1月 18th, 2012」と出力されてしまいます。

調べてみると、get_post_time で意図通りの表示が実現。

Template Tags/get post time « WordPress Codex

echo get_post_time('M j, Y'); // Jan 21st, 2013 と出力される

また、記事の更新の日付も同様にしたい場合には、get_post_modified_time を使うことで可能。
get_post_modified_time は Atom の出力に使われているみたいです。

Function Reference/get post modified time « WordPress Codex

ということで、英語での日付表記は、以下のようにしておけば可能(今回不要な引数については省略してます)。

echo get_post_time('M jS, Y');
echo get_post_modified_time('M jS, Y');

get_post_modified_time を見つけて、無事解決となったあとで、まとりさんの記事を発見したので、こちらもメモ。

WordPress 日本語版で、テーマ内の日付を英語表記で表示する | Unformed Building

get_post_timeget_post_modified_time を wp-includes/general-template.php で見てみると、2つとも mysql2date を使っているので、まとりさんの記事にあるように、以下のようにしても意図通りの表示になります。

mysql2date('M jS, Y', $post->post_date, false);
mysql2date('M jS, Y', $post->post_modified, false);

Function Reference/mysql2date « WordPress Codex

response

  1. そういえば、日付の横に曜日があった方が10年日記っぽいかも。 | 極楽ひだまり保育園・・・猫になりたい
    2013-09-15 22:12:13reply

    […] 曜日が「2012/9/15 Sun」 となります。更新曜日は「get_post_modified_time」ですね。こちらがわかりやすくてオススメですよ♪WordPress 日本語版で英語の日付表記をしたいとき用メモ // understandard […]

leave a reply

your email address will not be published.

you may use these HTML tags and attributes: <a href="" title=""> <em> <i> <strong> <blockquote cite=""> <q cite=""> <cite> <pre> <code> <del datetime=""> <ins datetime="">