간단한 다국어 시스템을 작성했습니다. 깃발 아이콘을 클릭하면 2 개의 언어 코드 (예 : nl, de 등)가 포함 된 1 년 쿠키가 설정됩니다.
wp
쿠키 값을 읽기 위해 작업에 연결 한 다음 the_title
및 the_content
필터를 사용 하여 올바른 언어를 표시합니다 (페이지 / 포스트 편집 화면에서 메타 박스를 통해 다른 언어가 입력 됨).
이것은 두 언어 코드가 도메인 이름과 일반적인 permalink 구조 사이에있는 각 언어 버전에 대한 permalink를 원한다는 것을 제외하고는 모두 잘 작동합니다. %postname%
permalink 구조를 사용하고 있으므로 다음이 모두 유효합니다.
http://example.com/nl/about-us
http://example.com/de
http://example.com/fr/2012/03
http://example.com/es/this-is-a-post-title
현재 언어가 영어 인 경우 두 글자 코드를 사용하지 않아야합니다 (정상적인 퍼머 링크 일 것임).
지금까지 query_vars
필터를 사용하여 이라는 쿼리 var를 추가 lang
했지만 지금까지는 다음 단계가 무엇인지 잘 모르겠습니다. 많은 조언을 부탁드립니다!
답변
귀하의 질문은 스스로 대답하기에 충분히 복잡하지만 qTranslate
플러그인 을 설치하는 것이 좋습니다 . 플러그인 설명에 따르면 :
URL을 예쁘고 SEO 친화적으로 만들려면 3 가지 모드 중 하나를 선택하십시오. -어디서나 호환되는? lang = en, 간단하고 아름다운 / en / foo / 또는 멋지고 깔끔한 en.yoursite.com
따라서 플러그인 코드를 검사하여 어떻게 작동하는지 확인하거나 전혀 사용하지 않을 수 있습니다.
답변
이것이 내가 사용하는 필터입니다.
function em_wpml_dbem_taxonomy_category_slug($option){
$lang = get_bloginfo('language');
if( $lang === 'es-ES' ){
$option = 'eventos/categorias';
} else {
$option = 'events/categories';
}
return $option;
}
add_filter('pre_option_dbem_taxonomy_category_slug', 'em_wpml_dbem_taxonomy_category_slug');