お使いのテーマでは日付の書式が “7 月 21st, 2009” のような書式に固定されています。
日付の書式は、 PHP の date() 関数と同じく Y/m/d -> 2009/07/21 など、特定のアルファベット一文字で各書式を表す仕様になっています。このうちの S という書式が、日数を 1st, 2nd, 3rd… のように表す書式なのですが、 WordPress 日本語版にはこの対訳がありません。もうちょっと正確に言えば、その書式が /wp-includes/locale.php で各言語に置き換えているロケールのクラスに対象として含まれていないため (要するに仕様上、その部分を翻訳できるように設計されていないので) 21日、のようには日本語化されません。 (一方、曜日や月名などは翻訳対象となっているので date() 関数と異なり、日本語化されます。 )
そこで、お使いのテーマの以下の箇所を S を使用しない書式に修正する必要があります。
-
index.php – 10 行目:
archive.php – 12 行目:
<?php the_time('F jS, Y') ?>
-
archive.php – 40 行目:
single.php – 30 行目:
search.php – 19 行目:
attachment.php – 29行目:
image.php – 26 行目:
<?php the_time('l, F jS, Y') ?>
修正後の書式はお好みですが、
<?php the_time( get_option('date_format') ); ?>
としておくと、管理ページで設定できる日付の書式が適用されますので、一元的に管理でき、表示のされ方を簡単に色々試せていいかもしれません。なお、
<?php the_time() ?>
とだけなっているテンプレートタグは、管理ページで設定できる時刻の書式を出力しますので、そのままにしておいてください。
date() 関数の書式については以下のページを参考にしてください。
mizube様、ご丁寧な説明ありがとうございました。
早速例の箇所を全て以下に変えて見ました。
<?php the_time( get_option(‘date_format’) ); ?>
しかし使っている日付の設定をできる管理ページが悪いのでしょうか。
どの日付フォーマットを選んでも、表示が変わりません。
今度は例の箇所を全て以下に変えて見ました。英語表示でも統一していればいいので。
<?php the_time(‘m.d.y’) ?>
しかし結果は同じでした。
7 月 21st, 2009
又新しくブログを投稿してみてもフォーマットはそのままでした。
何が原因なのか未だに不思議です。
どうしてもの場合は日付変換がもっとスムーズに出来るテーマに変える事も出来るのですが。。。
反映されませんでしたか。それは、確かに不思議ですね。配布元のテーマをダウンロードして確認した限りでは、他に修正すべき箇所は見あたりませんでしたし、私の環境では、修正したテーマを適用すると、日付のフォーマットの変更は確かに適用されています。
何か根本的な見落としがあるように思います。関係があるかどうかも定かではないので恐縮ですが、テーマファイルをどのように修正されたか、手順を書き出して頂けませんか?