Ich habe diesen Code zu meiner functions.php-Datei hinzugefügt
add_filter('locale', 'wpse27056_setLocale');
function wpse27056_setLocale($locale) {
if ( is_admin() ) {
return 'en_US';
}
return $locale;
}
daher ist das Frontend in ro_RO
und wp-admin
in en_US
verfügbar.
Naja ... das hat fast funktioniert, mit Ausnahme von Yoasts WordPress SEO-Plugin, das auf Rumänisch übersetzt ist.
Was kann ich mit diesem Plugin tun, um es auf Englisch anzuzeigen?
Dieses Plugin lädt seine Sprache, sobald seine Hauptdatei enthalten ist:
load_plugin_textdomain( 'wordpress-seo', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
Wenn Sie also den Filter locale
verwenden, ist die Sprache bereits vorhanden. : /
Verschiebe dein kleines Plugin in das Verzeichnis mu-plugins
. Sie können es erstellen, wenn es in wp-content
nicht vorhanden ist. Das sollte dein Plugin früher laden als das von Yoast.
Lektion: Laden Sie niemals Ihre Sprachdateien vor wp_loaded
.
Es gibt sogar eine bessere Lösung: einen Filter namens plugin_locale
. Es filtert das locale-Argument, bevor es in load_plugin_textdomain
verwendet wird.
add_filter( 'plugin_locale', 'mytheme_plugin_locale' );
function mytheme_plugin_locale() {
return 'en_US';
}