- 상태
- 해결됨
- 보고된 제품
- WPML Multilingual CMS 3.1.9.5
- 해결된 버전
- 3.1.9.7
문제 개요
- 메뉴로 이동하여 기본 언어로 메뉴를 생성하세요.
- 보조 언어로 메뉴를 생성해 보세요.
- 저장 후 404 오류가 발생합니다.
임시 해결 방법
이 문제는 WPML 3.1.9.7에서 해결되었습니다
문제를 해결하려면 최신 WPML 버전으로 업데이트해야 합니다.
WPML을 업데이트할 수 없거나 원하지 않는 경우 다음 지침을 따르세요.
- 업데이트된 iclNavMenu.class.php 버전을 다운로드하세요.
- 이를
sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php의 대체 파일로 사용하세요.
대부분의 경우 FTP 클라이언트를 사용하여sitepress-multilingual-cms/inc/wp-nav-menus에 파일을 업로드해야 합니다. 기존 파일을 덮어쓸지 묻는 메시지가 나타나면 덮어쓰세요.
문제가 발생하는 경우
다음과 같은 문제가 발생하는 경우:
Fatal error: Call to undefined method SitePress::get_setting() in /wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 121PHP Fatal error: Call to undefined function wpml_prepare_in() in /wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 548- 흰색/빈 페이지
다음 단계를 수행하세요.
- “WPML” -> “지원”으로 이동하세요.
- “디버그 정보”를 클릭하세요. 많은 정보가 포함된 회색 텍스트 상자가 표시됩니다(JSON 객체입니다).
- 텍스트 상자의 내용을 텍스트 파일에 복사하고 원하는 대로 파일 이름을 지정하세요. “json” 확장자를 사용하는 것이 좋지만 필수는 아닙니다.
- 문제를 디버그할 수 있도록 관리자 권한이 있는 새 WordPress 사용자를 생성하세요.
- 무료 “Duplicator” 플러그인을 설치하세요(여기).
원하는 경우 다른 플러그인을 사용할 수 있지만 다음 지침은 Duplicator에 한정된 것입니다(다른 플러그인에 맞게 쉽게 조정할 수 있습니다). - 새 패키지를 생성하세요.
- “Duplicator” -> “패키지”로 이동하세요.
- “새로 만들기”를 클릭하세요.
- 모든 기본 설정을 그대로 두고 마법사를 진행하세요(원하는 경우 불필요하다고 생각하거나 “uploads” 폴더의 파일처럼 패키지를 너무 크게 만드는 일부 파일을 제외할 수 있습니다).
- 스냅샷이 준비되면 “installer” 및 “package” 파일을 모두 다운로드하세요.
- 폴더를 생성하고 3단계와 6.4단계의 파일(디버그 정보가 포함된 텍스트 파일, installer 및 package)을 포함하세요.
- 해당 폴더를 압축하여 Google Drive, Dropbox 또는 유사한 서비스에 업로드하세요(또는 압축하지 않고 전체 폴더를 업로드하여 공유하세요).
- 지원 포럼으로 이동하여 “임시 해결 방법 문제 – 기본 언어가 아닌 언어로 메뉴 저장 시 404 오류 발생”이라는 제목으로 지원 티켓을 생성하세요. 8단계에서 저장한 파일을 비공개로 공유해 달라고 요청할 것입니다.
너무 오래된 버전의 WPML을 사용하는 경우 이 임시 해결 방법이 작동하지 않을 수 있습니다.
In these cases, you may get a white page, or this errors: PHP Fatal error: Call to undefined function wpml_prepare_in()
이 특정 오류를 해결하려면 다음 단계를 따르세요.
-
'wp-content/plugins/sitepress-multilingual-cms/inc/functions.php'
파일을 열고wpml_prepare_in
을(를) 검색하세요. - 찾을 수 없는 경우 파일 맨 아래에 다음을 추가하세요.
function wpml_prepare_in( $items, $format = '%s' ) { global $wpdb; $items = (array) $items; $how_many = count( $items ); if ( $how_many > 0 ) { $placeholders = array_fill( 0, $how_many, $format ); $prepared_format = implode( ",", $placeholders ); $prepared_in = $wpdb->prepare( $prepared_format, $items ); } else { $prepared_in = ""; } return $prepared_in; }