webentwicklung-frage-antwort-db.com.de

Wie verwende ich das Yoast SEO-Backend in Englisch, auch wenn die WPLANG-Variable nicht Englisch ist?

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?

2
m3tsys

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.

2
fuxia

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';
}
2
Alex Hackbunker