web-dev-qa-db-fra.com

Comment utiliser le backend WoLang SEO n'est pas anglais?

J'ai ajouté ce code à mon fichier functions.php

add_filter('locale', 'wpse27056_setLocale');
function wpse27056_setLocale($locale) {
    if ( is_admin() ) {
        return 'en_US';
    }

    return $locale;
}

donc l'interface est disponible en ro_RO et wp-admin est disponible en en_US

Eh bien ... cela a presque fonctionné à l’exception du plugin SEO WordPress de Yoast qui est traduit en roumain.

Que puis-je faire avec ce plugin pour être affiché en anglais?

2
m3tsys

Ce plugin charge sa langue au moment où son fichier principal est inclus:

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

Ainsi, lorsque votre filtre locale est utilisé, la langue est déjà présente. : /

Déplacez votre petit plugin dans le répertoire mu-plugins. Vous pouvez le créer s'il n'existe pas dans wp-content. Cela devrait charger votre plugin plus tôt que Yoast.

Leçon: Ne chargez jamais vos fichiers de langue avant le wp_loaded.

2
fuxia

Il existe même une meilleure solution: un filtre appelé plugin_locale . Il filtre l'argument de la locale avant de l'utiliser dans load_plugin_textdomain.

add_filter( 'plugin_locale', 'mytheme_plugin_locale' );

function mytheme_plugin_locale() {
    return 'en_US';
}
2
Alex Hackbunker