Just another WordPress weblog
Follow Me
TwitterRSS
Share this
Twitter ButtonFacebook ButtonWeibo ButtonTencent ButtonQzone ButtonGoogle Buzz ButtonReddit ButtonStumbleUpon ButtonDigg ButtonOrkut Button

Holistic Teahouse

Holistic Teahouseのスクリーンショット
Holistic Teahouseのスクリーンショット
という、オレンジ&ブラッキーなテーマ。
基本、オレンジ色は好きです。ちょっと、グラデーションぽくなっているのもアクセントが効いて、ナイスポイントです。
折角良いデザインなのに、翻訳に対応していない状態
もったいないので、とりあえず、poファイルを抽出して日付関係だけを書き換えました。
その途中で気づいたのですが、ヘッダーの処に、エントリーやページを開いた際に、現在の日時を表示する仕掛けが植え込まれているのですが、どうも正しい日時を表示していないっぽい。

オリジナルのその箇所はheader.phpの49行目にあるんですが

<?php echo date("F jS\, Y"); ?>

となっています。
うーん…。
確か、date関数ってサーバーのタイムゾーンを参照して表示するんじゃなかったかな…。
でも、どう見てもGMTが表示されているような気がする。
それに、phpの関数を直接扱うと、サーバーの設定に依存するから、例えば海外のサーバーにWordPressを設置していたりすると当然、そのサーバーのタイムゾーンで表示されてしまうんだよね?それはそれで意味がないよね。
だったら、WordPressの設定を使えたら良いよね…。
と言うことで、探しました。

current_time($type, $gmt);

この関数が呼び出されたタイミングの日時を返してくれる関数みたいです。
$typeには‘mysql’‘timestamp’を入れるようです。
‘mysql’の時は

2010-03-16 10:38:15

の形式。
‘timestamp’の時は

1123238473

形式で値が返ります。
$gmt = 0の処は01を指定できるようです。省略することも出来るようですね。
0の場合はローカル日時、1の場合はGMTで返すようです。

では、これを使って日時を表示することにしましょう。
どうせなら、翻訳を当てて、変更できるようにしてみたいですよね。
しかも、よく見ると、日付、時刻、AM/PMを分割して表示しています。
テンプレートにそのまま記述しても良いのですが、スマートではなくなってしまうので、テンプレート関数functions.phpに記述して、テンプレートでは関数を呼び出すことで表示させるようにしました。
functions.phpへの追記

function now_date_time($fstr) {
$now_DeteTime = date_create(current_time('mysql'));
echo date_format($now_DeteTime,$fstr);
}

引数$fstrは翻訳された文字列を受け取ります。current_time()関数を‘mysql’で呼び出しているのはタイムゾーン処理がめんどくさかったからですw
phpの日時変換関数は実行時にタイムゾーンを参照するようなのでそれを考えるのがおっくうだったからです。要するに逃げました…ごめんなさいorz
で、受け取った文字列を元に、date_create()関数で日時オブジェクトを作成してdate_format()関数で書式整形を行って出力します。
このファンクション一つで日付、時刻、AM/PMを表示させることが出来るようになります。
テンプレートには

<?php echo now_date_time(__('F jS\, Y','holistic-teahouse-gdgd')); ?>

と記述します。

__('F jS\, Y','holistic-teahouse-gdgd')

は翻訳ファイルから‘F jS\, Y’に該当する翻訳文字列を返す関数です。

まあ、こんな感じです。
何はともあれ、ちゃんと動作して良かったです。
次はどうしようかな(^_^)b

コメントはまだありません - コメントをどうぞ

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">