Chciałbym mieć backend Wordpress w języku angielskim i użyć innego ustawienia narodowego dla frontendu
do tej pory wymyśliłem, że mógłbym to zrobić, ustawiając w wpconfig ustawienia narodowe, których chcę używać w interfejsie, a następnie dodaj w funkcji functions.php coś takiego:
add_filter('locale', 'mytheme_backendlocale');
function mytheme_backendlocale($locale) {
if ( is_admin() ) {
return 'en_US';
}
return $locale;
}
czy to najlepsza praktyka, aby osiągnąć to, czego chcę, czy powinienem to zrobić inaczej?
Do tej pory uważam, że odpowiedź Fulvio jest najlepsza. Używam tego filtru nawet w konfiguracji z wieloma witrynami, z tylko jedną linią:
Zasadniczo czasami iw tym przypadku używam wielu witryn dla wielojęzycznych witryn zamiast wtyczek. Mam też 1 pojedynczy motyw dla każdego języka (zwykle motywy podrzędne głównego języka). Więc każda strona sieci ma swój własny język, ale po stronie administratora potrzebuję wszystkich interfejsów w języku włoskim.
Więc to co robię to:
UWAGA: ten filtr nie zmieni języka administratora, więc nie trzeba sprawdzać, czy is_admin ()
źródło
Jeśli ktoś nadal tego szuka, oto, co powinieneś zrobić od wersji 4.7
Wymusza to załadowanie deski rozdzielczej w języku angielskim, a następnie możesz przejść do ustawień, ustawić żądany język.
źródło