このコードをfunctions.phpファイルに追加しました
add_filter('locale', 'wpse27056_setLocale');
function wpse27056_setLocale($locale) {
if ( is_admin() ) {
return 'en_US';
}
return $locale;
}
そのため、フロントエンドはro_RO
で利用でき、wp-admin
はen_US
で利用できます。
さて...それはルーマニア語に翻訳されているYoastのWordPress SEOプラグインを除いてほとんどうまくいきました。
そのプラグインを英語で表示するにはどうすればいいですか?
そのプラグインは、メインファイルがインクルードされた瞬間にその言語をロードします。
load_plugin_textdomain( 'wordpress-seo', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
それであなたのlocale
フィルタが使われるとき、言語はすでにそこにあります。 :/
小さなプラグインをmu-plugins
ディレクトリに移動します。 wp-content
に存在しない場合は作成できます。それはYoastよりも早くあなたのプラグインをロードするはずです。
レッスン:wp_loaded
の前に自分の言語ファイルをロードしないでください
もっと良い解決策があります。 plugin_locale
というフィルタです。 load_plugin_textdomain
で使用する前にロケール引数をフィルタリングします。
add_filter( 'plugin_locale', 'mytheme_plugin_locale' );
function mytheme_plugin_locale() {
return 'en_US';
}