2017年12月
« 7月    
 123
45678910
11121314151617
18192021222324
25262728293031

カテゴリー

最近のコメント

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



&amp;amp;lt;!–:en–&amp;amp;gt;Comment date incorrect in Atahualpa&amp;amp;lt;!–:–&amp;amp;gt;&amp;amp;lt;!–:ja–&amp;amp;gt;Atahualpaでコメントの日付が文字化け&amp;amp;lt;!–:–&amp;amp;gt;

当ブログでつかっているテーマAtahualpaですが、以前の記事で記事投稿日付がおかしいことを話しましたが、コメントの日付も文字化けていました。

comment_date_garbage

comment_date_garbage_21

といった具合に。

他言語プラグインとか入れているので一般的な環境とは違うのでしょうが、編集画面から直せないので

bfa_comment_walker.phpの該当箇所を

投稿日付と同じくISO標準書式に変えました。

なんとかしてうまく国際化したいですが、時間がないのでとりあえずこのまま。。