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

Category : WordPress

WordPress の記事公開日を英語表記にしたい場合ってありますよね。
"May 12th, 2011" みたいに表示したい、そういうときは the_time('F jS, Y') でいいはずなんですが、WordPress 日本語版だと "5月 12th, 2011" ってなっちゃうんですよね。

今まで、the_time()str_replace()add_action() で無理やりやっていたんですが、Twitter でどうにかできないかなーみたいなことを書いたんですよ。
str_replace() などの置換もしないで、という条件だったですが、 本体の .po .mo ファイルもいじらずにすむ方法を教えていただけました。
教えて下さったのは @miya0001 さんです。

以下がその内容になります。

いまためしたら、こんな感じですね。 echo date('M jS, Y', mysql2date('U', $post->post_date));

have_postのループ内でmysql2date('U', $post->post_date)); としたらタイムスタンプが取れるので、あとはphpの普通のdate()で自由になります。

というわけだそうです。
言われたあとでリファレンス見てやっと理解できました。
悩んでいたところなので本当に助かりました。

@miya0001 さんのサイトへはこの下のリンクからどうぞ!

えーと、上記の方法では完全ではないみたいです……。
以下は @takayukister のツイートです。

@miya0001 @jim0912 mysql2date('M jS, Y', $post->post_date, false) にしたらローカライズされないすよ。

3つ目のはローカライズするかどうかの指定ですね……。
関数リファレンス/mysql2date – WordPress Codex 日本語版 に書いてありました。

@takayukister さん、ありがとうございました。

Trackbacks & Pingbacks

Leave a Reply