2017年11月
« 7月    
 12345
6789101112
13141516171819
20212223242526
27282930  

カテゴリー

最近のコメント

<!–:en–>Date Format of WordPress Template<!–:–><!–:ja–>WordPressテンプレートの日付書式の変更<!–:–>

先日、Carrington Mobileというテンプレートを使って、当サイトをモバイル対応しました。

スマートフォンでもきれいに表示されてなかなか優れものですが、1点難点が。

記事の日付がことごとく文字化け、または表示されない

原因は、テンプレートのコメントの日付、時間のフォーマット処理がうまく働いていない。

該当箇所を見つけ出し、とりあえず固定のyyyy.mm.dd形式にして解決。

ちなみに、当サイトのPC版テンプレートAtahualpaでも同様の現象が起こります。

該当箇所の見つけ方としては、ベタですが、

themes/… 以下の該当テンプレートディレクトリを”date(”などでgrepする。

見つかったPHPのget_comment_dateやcomment_datedateなどを呼び出し箇所を探して以下のように直す。

<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の日付バグについては、こちらの記事も参照してみてください。