サイト表示とダッシュボードの表示言語を変える方法

こんにちは。
写真家に限らず、海外向けも含めてサイトを作る場合、ワードプレスの言語設定依存の見出しなどは英語で表示させておきたいもの。
単純にダッシュボード設定で言語設定すれば良いだけなのですが、英語があまり得意でないのであれば、更新のハードルが上がるため放置ぎみになりかねません。
今回は私の備忘録も兼ねて、サイトは英語で表示しながらダッシュボードのみ日本語を表示させる方法を書いていきます。

 

 

まず、最初に変更方法がわからなかったので色々とググったりして調べてました。
その中で、多く出てきたのが下記の記述をwp-config.phpに追記する方法。

if ( defined('WP_ADMIN') )
    define('WPLANG', 'ja');
else
    define('WPLANG', 'en_US');

ところが、この方法で変更するとアップデート毎に書き直す必要があり面倒くさい。
更に調べると現在は推奨されていない方法で、バグを引き起こしかねないとのこと。
参考サイト:EastCoder;さま
一部を引用すると、

WordPress 3.4 以降、言語に依存するコア機能の挙動を決めるオプション値が翻訳ファイルの中に保持されるようになりました。例えば、日本語版 WordPress の言語設定を ja から en_US に変更した場合、日本語翻訳ファイルがシステムに読み込まれなくなることで、文字列カウント方式を決めるオプション値は日本語ユーザー向けの characters(文字数ベース)から英語ユーザー向けの words(単語数ベース)に切り替わります。この場合、日本語環境における投稿抜粋や投稿エディターの文字数表示は正しく機能しなくなってしまいます。

 

ではどうするのかというと、日本語環境用の機能を残したまま日本語翻訳だけを行わせなくすることで表示言語を変更します。

 

 

まず wp-config.php のローカル言語設定が ja となっていることを確認します。

define('WPLANG', 'ja');

次に pluginsディレクトリ内の WP Multibyte Patch の設定ファイル wpmp-config-sample-ja.php を wpmp-config.php の名前で複製します。
複製した wpmp-config.php を開き、末尾に用途にあった以下いずれかの一行を追加します。

// 管理画面では日本語翻訳表示を行い、その他ではデフォルトの英語表示にする場合
add_filter('override_load_textdomain', create_function('', 'return !is_admin();'));
// すべてデフォルトの英語表示にする場合
add_filter('override_load_textdomain', '__return_true');
// 管理画面ではデフォルトの英語表示、その他では日本語翻訳表示を行う場合
add_filter('override_load_textdomain', 'is_admin');

上記のいずれかを追記したあとに、 wpmp-config.php で文字列カウント方式を文字数ベースに固定する機能が有効(true)となっていることを確認してください。

$wpmp_conf['patch_force_character_count'] = true;

最後に wpmp-config.php を wp-content ディレクトリに置いてください。
以上で、設定完了です。

これからは、ワードプレスについても備忘録的にあれこれを書いていこうと思います。

コメントは受け付けていません。