WPML
상태
해결됨
해결된 버전
4.0.0

문제 개요

4.0.0 이전에는 WPML이 변환 과정에서 후행 슬래시를 수신되는 URL과 일치시키려고 시도했습니다. 안타깝게도 이 로직이 모든 경우에 적합한 것은 아닙니다.

4.0.0부터 변환된 URL은 다음과 같은 표준 WordPress 동작과 일치합니다:

  • 경로와 쿼리가 없는 경우 WPML은 수신되는 URL과 일치시키려고 시도합니다(예: http://wpml.com => http://wpml.fr 또는 http://wpml.com/ => http://wpml.fr/). 하지만 WordPress는 일반적으로 후행 슬래시 없이 홈 URL을 출력합니다.
  • 경로는 없지만 쿼리가 있는 경우 항상 후행 슬래시가 포함됩니다(예: http://wpml.com?foo=bar => http://wpml.fr/?foo=bar).
  • 경로(파일 아님)가 있는 경우 후행 슬래시는 고유주소 형식에 따라 달라집니다.
  • 파일을 가리키는 경로가 있는 경우 고유주소 형식과 관계없이 후행 슬래시를 추가하지 않아야 합니다. 예: http://wpml.com/wp-content/uploads/hello.csv.

임시 해결 방법

이 변경 사항은 테마 또는 타사 플러그인에 예기치 않은 부작용을 일으킬 수 있습니다.

URL을 생성할 때 문자열 연결을 피하고 다음과 같은 함수를 사용할 것을 강력히 권장합니다.


  • URL 쿼리를 생성하려면 add_query_arg를 사용합니다.

  • 서버에서 이 함수를 사용할 수 있는 경우 http_build_url을 사용합니다(단, WPML에서 폴리필을 제공합니다).

  • 후행 슬래시를 추가하거나 제거하려면 trailingslashit, untrailingslashit을 사용합니다.

예를 들어 다음 코드는

$url = get_home_url() . '/' . $path;

다음과 같이 교체해야 합니다.

$url = trailingslashit( get_home_url() ) . $path;

알려진 모든 문제 →