언어에 대한 사용자 정의 퍼머 링크 구조 작성


9

간단한 다국어 시스템을 작성했습니다. 깃발 아이콘을 클릭하면 2 개의 언어 코드 (예 : nl, de 등)가 포함 된 1 년 쿠키가 설정됩니다.

wp쿠키 값을 읽기 위해 작업에 연결 한 다음 the_titlethe_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했지만 지금까지는 다음 단계가 무엇인지 잘 모르겠습니다. 많은 조언을 부탁드립니다!



1
@ l2aelba 덕분에 그 대답은 약간의 변경으로 필요한 것에 가깝습니다.
Simon Blackbourn

이 웹 사이트 또는 단일 웹 사이트의 하위 도메인이
있습니까

단지 하나의 웹 사이트
Simon Blackbourn

답변:


1

귀하의 질문은 스스로 대답하기에 충분히 복잡하지만 qTranslate플러그인 을 설치하는 것이 좋습니다 . 플러그인 설명에 따르면 :

URL을 예쁘고 SEO 친화적으로 만들려면 3 가지 모드 중 하나를 선택하십시오. -어디서나 호환되는? lang = en, 간단하고 아름다운 / en / foo / 또는 멋지고 깔끔한 en.yoursite.com

따라서 플러그인 코드를 검사하여 어떻게 작동하는지 확인하거나 전혀 사용하지 않을 수 있습니다.


1
링크 덕분에 코드를 해체 할 수 있는지 살펴 보겠습니다.
Simon Blackbourn

-1

이것이 내가 사용하는 필터입니다.

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');

2
답변에 설명을 추가하십시오-감사합니다.
Nicolai
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.