お引越し

2014年よりWP BEGINNERというブログでWordPressカスタマイズ格闘記を公開しておりましたが、先日サーバを移転し、旧サーバー提供のドメインがもうすぐ利用できなくなるため、こちらにお引越ししてくることになりました(あまりのカスタマイズの出来なさ加減にまた引っ越すかもしれませんが^^;)。

WordPressも日々進化しておりますので、情報が古くなっている投稿があります。
投稿日時を初公開時のものに設定してありますので、ご確認下さい。

woocommerceに乗換えたワケ

5年ほど前にBeginnerがネットショップを始めた頃は、wp e-commerceとwoocommerceは秤にかけて比べられるEコマースプラグインでした。
しかしwoocommerceはいまや破竹の勢い。プラグイン新規追加の選択画面に出る有効インストールの数は雲泥の差です(なんだか月並みな表現ばかりだな)。
続きを読む woocommerceに乗換えたワケ

wp e-commerceのカートウィジェットをカスタマイズ

ずいぶん久々の投稿になります。
実は現在wp e-commerceからwoocommerceに乗り換え中ですが、wpecを使ってみたいという方もいらっしゃるかと思い、独自にカスタマイズした点(そして書き溜めてあって投稿していなかった!)を記録として残しておきます。

続きを読む wp e-commerceのカートウィジェットをカスタマイズ

子テーマの翻訳

子テーマを使ってテーマをカスタマイズしていくと、親テーマとは違った文言を使うことも出てくると思います。
そしてサイトを複数言語で運営していると、子テーマ自体を翻訳する必要が出てきます。

まず翻訳手順から。
このブログでは(いまだに)twentytwelveテーマを使っていますが、WP提供の無料テーマの言語フォルダはwp-content/languages/themes/内に格納されています。
twentytwelveなら言語ファイルはtwentytwelve-ja.poです。
これをダウンロードし、テキストエディタで開きます。
英文と日本語訳がずらずらと並んでいますが、親テーマに変更を加えた箇所を探して、コピー。
新規ファイルにコピーした箇所をペーストします。
検索でヒットした記事では全体を変更しなければならないのか、変更した箇所だけでよいのかがわからなかったのですが、beginnerの試した限りでは変更箇所だけで良いようです。

例えば「続きを読む」という箇所を変更したいと思います。
親テーマでは283行目辺りにあります。

#: content-aside.php:15 content-image.php:13 content-link.php:14
#: content-quote.php:13 content-status.php:31 content.php:44
msgid “Continue reading
msgstr “続きを読む

(msgidが原文、msgstrが訳です)
これを子テーマのcontent.phpファイルでRead more…に変更したとします。

#: content.php: child theme
msgid “Read more…”
msgstr “続きを読む・・・”

とします。

content.php内では

<?php the_content( __( 'Read more...', 'twentytwelve' ) ); ?>

と文面を変更するだけではなく、子テーマのファイル名(例ではmy-child)も指定します。

<?php the_content( __( 'Read more...', 'my-child' ) ); ?>

ファイルはja.po にして保存します(ファイル名は非常に重要です!)。

この.poファイルをPoeditで開き、保存して.moファイルを生成します。これで言語ファイルは完成です。

次に、子テーマのmy-childフォルダ内に、languages(複数形)というフォルダを作ります。
ここに先ほどのja.poファイルとja.moファイルをアップしておきます。

アップしたファイルを読み込むには、子テーマの関数ファイルfunctions.phpにそのための関数を追加。

子テーマの翻訳でいろいろ調べていくと、日本語の記事にはload_theme_textdomain関数を使う、としているものが多かったのですが、WordPressには子テーマ翻訳ファイル読み込み用のload_child_theme_textdomain関数が用意されているので、これを使います。

add_action( 'after_setup_theme', 'my_child_theme_setup' );
function my_child_theme_setup() {
    load_child_theme_textdomain( 'my-child', get_stylesheet_directory() . '/languages' );
}

load_child_theme_textdomainの直後は子テーマ名ですので適宜変更します。
content.php内にも子テーマ名を指定しましたが、指定をしておかないとファイルを読み込みに行ってくれないのです。

これで「続きを読む→」は「続きを読む・・・」に変更されているはずです。
(twentytwelveはなぜか矢印を多用するんですよね。beginnerは&矢印がキライなのでlarr;は«、→は»に変更しています).

ハマったポイントは太字にした部分。
ファイル名を必ずja.poにすること、そして変更した箇所のファイル名指定です。
日本語のファイル名は「WPロケール名」に則し、ja のみでよいのですが、別の言語の場合、de_DEやfr_FRのように、さらにアンダーバー以降を指定する必要があります(フランス語はfrだけでは読み込みませんでした)。
各言語のロケールはWPのページで確認してください。

wp e-commerce と Widget Logic

カスタム投稿タイプ(CPT)を複数使っていると投稿タイプによってウィジェットを出し分けたい場合があります。
今まではDynamic Widgetsというプラグインを使っていたのですが、このプラグインは設定がやや面倒。細やかな設定が出来るのはいいのですが、手間がかかります。
続きを読む wp e-commerce と Widget Logic

カスタム投稿タイプのウィジェット

以前のポストでカスタム投稿タイプ(CTP)を複数設定し、カテゴリーやタグも設定しましたが、カテゴリーやタグをサイドバーに出すにはウィジェットとして表示しなければなりません。

表示の仕方その1としては、CTP用のサイドバーテンプレートを用意し、その中でWPで用意されている関数を使って表示させるというものがあります。
続きを読む カスタム投稿タイプのウィジェット

カスタム投稿タイプを複数作るには

カスタム投稿タイプは便利なので複数持ちたいという場合が出てくると思いますが、プラグインなしで複数作るにはどうすればよいのか説明したソースが少なかったので、こちらにアップしておこうと思います。 続きを読む カスタム投稿タイプを複数作るには