WordPress의 백엔드를 영어로 사용하고 프론트 엔드에 다른 로케일을 사용하고 싶습니다
지금까지 프론트 엔드에서 사용하려는 로케일을 wpconfig에서 설정하여 다음과 같이 functions.php를 추가하여 할 수 있다고 생각했습니다.
add_filter('locale', 'mytheme_backendlocale');
function mytheme_backendlocale($locale) {
if ( is_admin() ) {
return 'en_US';
}
return $locale;
}
이것이 내가 원하는 것을 달성하는 가장 좋은 방법입니까, 아니면 다르게해야합니까?
답변
플러그인 WP Native Dashboard를 설치하십시오 . 그런 다음 프런트 엔드에 하나의 언어를 설정할 수 wp-config.php
있으며 각 사용자는 백 엔드에 다른 언어를 선택할 수 있습니다.
자세한 내용과 스크린 샷 은 주석 언어 변경 템플릿 을 참조하십시오.
답변
답변
지금까지 나는 풀비 오의 대답이 최선이라고 생각합니다. 다중 사이트 설정에서도 한 줄로 해당 필터를 사용하고 있습니다.
add_filter('locale', 'set_admin_locale');
function set_admin_locale($locale) {
return 'en_US';
}
기본적으로 때로는이 경우 플러그인 대신 다중 언어 사이트에 다중 사이트를 사용합니다. 또한 각 언어마다 하나의 테마 (보통 주요 언어의 하위 테마)가 있습니다. 따라서 네트워크의 모든 사이트에는 고유 한 언어가 있지만 관리자 측에서는 이탈리아어로 된 모든 인터페이스가 필요합니다.
그래서 내가하는 일은 :
- wp-config.php에서 일반 WPLANG 상수를 사용하지 않습니다
- 나는 네트워크의 모든 사이트에서 이탈리아어를 설정
- 각 테마의 functions.php에서 위의 필터를 사용하여 프론트 엔드 언어 / 로캘을 제어합니다.
참고 : 해당 필터는 관리 언어를 변경하지 않으므로 is_admin ()인지 확인할 필요가 없습니다.
답변
누군가가 여전히 그것을 찾고 있다면, 여기에 버전 4.7 이후해야 할 일이 있습니다.
function wp_noshor_redefine_locale($locale) {
if( is_admin() ):
switch_to_locale('en_US');
endif;
}
add_filter('init','wp_noshor_redefine_locale');
그러면 대시 보드가 영어로로드 된 다음 설정으로 이동하여 원하는 언어를 설정할 수 있습니다.