先日、Carrington Mobileというテンプレートを使って、当サイトをモバイル対応しました。
スマートフォンでもきれいに表示されてなかなか優れものですが、1点難点が。
記事の日付がことごとく文字化け、または表示されない。
原因は、テンプレートのコメントの日付、時間のフォーマット処理がうまく働いていない。
該当箇所を見つけ出し、とりあえず固定のyyyy.mm.dd形式にして解決。
ちなみに、当サイトのPC版テンプレートAtahualpaでも同様の現象が起こります。
該当箇所の見つけ方としては、ベタですが、
themes/… 以下の該当テンプレートディレクトリを”date(”などでgrepする。
見つかったPHPのget_comment_dateやcomment_date、dateなどを呼び出し箇所を探して以下のように直す。
<p>by <cite><?php comment_author_link() ?></cite> on <a href=”#comment-<?php comment_ID() ?>” title=”"><?php comment_date(“Y.m.d “) ?> <?php comment_time(“H:i:s“) ?></a> <?php edit_comment_link(“e”,”",”"); ?></small></p>
ここに別の書式文字が指定されていたり、引数なしの場合、うまく表示されないことが多いです。
※但し、これらの関数の挙動はホスティングしているサーバーのPHPの設定やロケールで変わるので、一概にそうとは言えない。
該当ファイルは、Atahualpaの場合、
bfa_custom_comments.php
※ちなみに、このファイルが関係するのはコメントの日付。記事の日付などは、Atahualpaのテーマオプション画面で変更できます。(�te()% の部分を�te(“Y.m.d H:i:s”)%などに変える。)
<?php printf(__(“%1$s “at”を削る %2$s”,”atahualpa”), get_comment_date(__(“Y.m.d“,”atahualpa”)), get_comment_time(__(“H:i:s“,”atahualpa”))) ?>
Carrington Mobileの場合は、
comment-default.php
など数ファイルです。
PHPの書式フォーマットについては、こちら。
本当は、タイムゾーンをUTCで管理して、アクセス元のIPなどで国判別して、時差計算して表示するとかしたいんだけど(せっかく多言語ブログなので)、そういったプラグインないかな?
Atahualpaの日付バグについては、こちらの記事も参照してみてください。
最近のコメント