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 さん、ありがとうございました。
