親テーマ(Twenty Elevenなど)のアップデートで日本語がぶっ飛ぶのを防止する。

このサイトではTwety Elevenの子テーマを自作して使ってるんですが、テーマのアップデート(コアかも?)で親テーマ側の日本語の翻訳ファイルが消えてしまって、サイトの一部が英語になってしまっていました。

いままで放置してたんですが、突然エレガントな解決方法を思いついたので、ご紹介。

解決方法

当たり前といえば当たり前なんですが、要は子テーマ側に翻訳ファイルを設置してロードしてやればいいんですね。

日本語になった!

手順は以下のとおりです。

  1. 子テーマのディレクトリ内に親テーマのlanguagesディレクトリをコピーする。
  2. さきほどコピーした子テーマ内のlanguagesディレクトリにja.mo及びja.poを設置する。
  3. 子テーマのfunctions.phpのなるべく上の方に以下のようなソースを記述する。
load_theme_textdomain(
    'twentyeleven',
    dirname(__FILE__).'/languages'
);

第一引数の ‘twentyeleven’ はテーマによって違います。当然スペルミスがあると反映されないのでご注意を。

海外のテーマを翻訳したのに作者さんがなかなか適用してくれないなんてこともあるので、そんな時にもこのテクニックを使うと安心です。

プラグインでもオレオレプラグインを作って、同じようにしてやれば翻訳できるはずです。