$converted_url = apply_filters( 'wpml_permalink', string $permalink, string $language_code = null, bool $full_resolution = false );
- 유형
- filter
- 카테고리
- 현지화된 콘텐츠 가져오기
- WPML 버전
- 3.2.2
설명
WPML 언어 설정에 지정된 언어 URL 형식에 따라 WordPress 고유주소를 필터링하여 언어별 고유주소로 변환합니다.
이는 “언어 URL 형식”이 “디렉토리별 다른 언어”로 설정된 경우 고유주소가 http://domain.com/de 형식으로 반환됨을 의미합니다. “언어당 개별 도메인”이 선택된 경우 요청된 언어에 할당된 올바른 도메인을 포함하도록 고유주소가 변환됩니다.
인수
- $permalink
- (문자열) (필수) 필터링할 WordPress 생성 URL입니다.
- $language_code
- (문자열) (선택 사항) URL을 변환할 대상 언어입니다. 2자리 코드를 허용합니다.
null로 설정하면 루트 페이지의 경우 기본 언어로, 그 외의 모든 경우에는 현재 언어로 대체됩니다. 기본값은null입니다. - $full_resolution
- (부울) (선택 사항) 하드코딩된 URL의 전체 변환을 활성화합니다.
사용 예시
예제 1
예를 들어 “디렉토리별 다른 언어”를 선택한 경우 다음 코드를 사용할 수 있습니다.
// will return http://domain.com/de/contact $wpml_permalink = apply_filters( 'wpml_permalink', 'http://domain.com/contact', 'de' );
예제 2
http://example.org/hello/ 페이지와 해당 번역인 http://example.org/fr/bonjour/가 있습니다. 홈페이지 http://example.org를 표시하는 동안 필터를 호출한다고 가정해 보겠습니다.
// displays http://example.org/fr/hello/ (wrong) echo apply_filters( 'wpml_permalink', 'http://example.org/hello/', 'fr' ); // displays http://example.org/fr/bonjour/ (correct) echo apply_filters( 'wpml_permalink', 'http://example.org/hello/', 'fr', true );
두 번째 예제에 대한 중요 참고 사항:
- 전체 변환은 무거운 프로세스이므로 WPML은 확인된 URL을 데이터베이스에 유지해야 합니다. wpml_permalink를 처음 호출하면 데이터베이스 쿼리와 로드 시간이 크게 늘어납니다. 하지만 이후 호출은 프로세스에 과부하를 주지 않습니다.
- 데이터베이스 유지는 글/용어가 업데이트되거나 삭제될 때 부분적으로 지워집니다. 그리고 설정 -> 고유주소를 방문할 때 완전히 지워집니다(이는 문제가 발생할 경우 유용한 문제 해결 옵션입니다).
- URL을 확인할 수 없는 경우 wpml_permalink 필터는 원본 URL을 반환합니다.
관련 훅
wpml_media_url, wpml_media_id, force_suppress_filters, wpml_get_translated_slug, wpml_home_url, wpml_translate_single_string, wpml_translate_string, wpml_elements_without_translations, wpml_unfiltered_admin_string, wpml_element_link