현지화 : 백엔드를 원합니다 : 정의 된 언어의 영어와 프론트 엔드 사용하려는 로케일을 wpconfig에서 설정하여 다음과

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있으며 각 사용자는 백 엔드에 다른 언어를 선택할 수 있습니다.
자세한 내용과 스크린 샷 은 주석 언어 변경 템플릿 을 참조하십시오.


답변

필요한 플러그인이 있습니다.

http://wordpress.org/extend/plugins/fe-be-localization/


답변

지금까지 나는 풀비 오의 대답이 최선이라고 생각합니다. 다중 사이트 설정에서도 한 줄로 해당 필터를 사용하고 있습니다.

add_filter('locale', 'set_admin_locale');
function set_admin_locale($locale) {
  return 'en_US';
}

기본적으로 때로는이 경우 플러그인 대신 다중 언어 사이트에 다중 사이트를 사용합니다. 또한 각 언어마다 하나의 테마 (보통 주요 언어의 하위 테마)가 있습니다. 따라서 네트워크의 모든 사이트에는 고유 한 언어가 있지만 관리자 측에서는 이탈리아어로 된 모든 인터페이스가 필요합니다.

그래서 내가하는 일은 :

  1. wp-config.php에서 일반 WPLANG 상수를 사용하지 않습니다
  2. 나는 네트워크의 모든 사이트에서 이탈리아어를 설정
  3. 각 테마의 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');

그러면 대시 보드가 영어로로드 된 다음 설정으로 이동하여 원하는 언어를 설정할 수 있습니다.