Как использовать Yoast SEO backend на английском языке, даже если переменная WPLANG не является английской?

Я добавил этот код в свой файл 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

Ну … это почти сработало, за исключением плагина WordPress SEO Yoast, который переведен на румынском языке.

Что я могу сделать с этим плагином, который будет отображаться на английском языке?

Этот плагин загружает свой язык с момента включения его основного файла:

 load_plugin_textdomain( 'wordpress-seo', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); 

Поэтому, когда используется ваш locale фильтр, язык уже существует. : /

Переместите свой небольшой плагин в каталог mu-plugins . Вы можете создать его, если он не существует в wp-content . Это должно загрузить ваш плагин раньше, чем Yoast's.

Урок: никогда не загружайте свои языковые файлы до wp_loaded .

Существует даже лучшее решение: фильтр под названием plugin_locale . Он фильтрует аргумент locale перед его использованием в load_plugin_textdomain .

 add_filter( 'plugin_locale', 'mytheme_plugin_locale' ); function mytheme_plugin_locale() { return 'en_US'; }