待ち焦がれたテーマファイル『shiword』リリース!

気に入って使っていたWordPressのテーマ『Fastfood』。
このテーマの開発チーム『TwoBeers Project – artigiani del byte』の新しいテーマ『Tema per Wordpress: Shiword | TwoBeers Project』は、「Fastfood』を使っていた頃からリリースを心待ちにしていたものです。

で、1月ほど前のエントリー『Quick-barの文字化け対策をしたメモ « まいにち@ぐだぐだ』で紹介した問題がやはり含まれていましたので、とりあえず修正してみました。

今日は、このiPad風の面構えの最下部に表示されている『today is …』の部分の表記を考えてみました。
前述の文字化けの問題はfunction.phpに外部ファイルを読み込んだり、アクションフックの仕掛けがしてあったり…と、子テーマという便利な仕組みを使うと正しく動作しないので直接書き換えるしかなかったのですが、この問題はfooter.phpだけの問題なので、子テーマという仕組みが使えます。

なので、まず、子テーマ用のフォルダーを用意します。
で、テーマを認識させるためにテーマの情報を書き込んだstyle.cssを用意します。

/*
Theme Name: Shiword child
Theme URI: http://www.gdgd.ebiplan.com
Description: Simple dark theme with lots of features, like a "quick links" menu, an "easy navigation" bar, header and footer sidebars or print preview. Shiword is fully customizable (there's also a skin builder!), with one or two columns and up to 5 widgets areas. Supports WP 3.0 new menu tool and post thumbnails.
Version: 1.11c0
Author: gdgd
Author URI: http://www.gdgd.ebiplan.com
Template: shiword

License: GNU General Public License, version 2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* standard tags 
----------------------------------------------------------*/
@import url('../shiword/style.css');

まあ、内容のほどはオリジナルをコピーしてきて、スタイルシートの部分をそぎ落として、適当に書き換えただけです。
子テーマで有ることを明示する『Template: shiword』と言う項目を追加して、最後の『@import url(‘../shiword/style.css’);』を追記します。
子テーマの詳細については『子テーマ – WordPress Codex 日本語版』を参照してください。

次は、オリジナルのfooter.phpを子テーマのフォルダーにコピーして、変更を加えます。
変更が必要な部分は125行目

<div id="statusbar">
<?php _e( 'Welcome', 'shiword' ); ?> <?php if ( is_user_logged_in() ) { echo $current_user->display_name; } ?>, <?php _e( 'today is ', 'shiword' ); echo date_i18n( 'l' ); ?> <?php echo date_i18n( __( 'F j, Y', 'shiword' ) ); ?>
</div>

です。
echo date_i18n( ‘l’ );』の部分で『曜日』を表示して、『echo date_i18n( __( ‘F j, Y’, ‘shiword’ ) );』の部分で『日付』を表示しています。
日本では『○○年○○月○○日(曜日)』という表記方法が一般的ですので、このままだと『曜日 ○○月○○,○○』という形で表示されてしまいます。
ただし、デフォルトでは日本語用の翻訳ファイルはありませんからすべて英文表記です。
『○○月○○,○○』の部分は翻訳ファイルで『Y年n月j日』と翻訳を当ててあげれば解決するのでいいのですが、それでも『曜日 ○○年○○月○○日』と曜日が先に表示されてしまいます。
日本で一般的な表記にしたいと言う場合には、前述の『echo date_i18n( ‘l’ );』と『echo date_i18n( __( ‘F j, Y’, ‘shiword’ ) );』を入れ替える必要があります。

<div id="statusbar">
<?php _e( 'Welcome', 'shiword' ); ?> <?php if ( is_user_logged_in() ) { echo $current_user->display_name; } ?>, <?php _e( 'today is ', 'shiword' ); echo date_i18n( __( 'F j, Y', 'shiword' ) ); ?> <?php echo date_i18n( '(D)' ); ?>
</div>

と言う風に書き換えます。
これで『○○年○○月○○日(曜日)』という表記になります。

試していないのですが、『echo date_i18n( __( ‘l F j, Y’, ‘shiword’ ) );』として曜日を含めてしまえば、すべて翻訳を当てるだけで解決できるのではないのだろうか…と思っていますが…果たしてどうでしょうね?
気が向いたら試してみたいと思います。

3 Comments Add Yours

  1. ぐだぐだ@ひらひら

    昨日、テーマの更新がありました。
    で、マルチバイト対応の処理が施されていました。
    これで、function.phpに手を加えなくて良くなりました。
    ありがとうぅす!

  2. Jimo

    Hi hirahira,
    thanks for your support and your precious help

    Jimo @ Twobeers Crew

    • ぐだぐだ@ひらひら

      Hello, Jimo.
      I am honored to be able to help it.
      I thank for having you show a wonderful theme.
      Really thank you.