WPML
상태
해결됨
보고된 제품
WPML Multilingual CMS 3.1.9.5
해결된 버전
3.1.9.7

문제 개요

  1. 메뉴로 이동하여 기본 언어로 메뉴를 생성하세요.
  2. 보조 언어로 메뉴를 생성해 보세요.
  3. 저장 후 404 오류가 발생합니다.

임시 해결 방법

이 문제는 WPML 3.1.9.7에서 해결되었습니다


문제를 해결하려면 최신 WPML 버전으로 업데이트해야 합니다.

WPML을 업데이트할 수 없거나 원하지 않는 경우 다음 지침을 따르세요.


  1. 업데이트된 iclNavMenu.class.php 버전을 다운로드하세요.

  2. 이를 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 121

  • PHP 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

  • 흰색/빈 페이지

다음 단계를 수행하세요.

  1. “WPML” -> “지원”으로 이동하세요.

  2. 디버그 정보”를 클릭하세요. 많은 정보가 포함된 회색 텍스트 상자가 표시됩니다(JSON 객체입니다).

  3. 텍스트 상자의 내용을 텍스트 파일에 복사하고 원하는 대로 파일 이름을 지정하세요. “json” 확장자를 사용하는 것이 좋지만 필수는 아닙니다.

  4. 문제를 디버그할 수 있도록 관리자 권한이 있는 새 WordPress 사용자를 생성하세요.

  5. 무료 “Duplicator” 플러그인을 설치하세요(여기).
    원하는 경우 다른 플러그인을 사용할 수 있지만 다음 지침은 Duplicator에 한정된 것입니다(다른 플러그인에 맞게 쉽게 조정할 수 있습니다).

  6. 새 패키지를 생성하세요.

    1. “Duplicator” -> “패키지”로 이동하세요.

    2. “새로 만들기”를 클릭하세요.

    3. 모든 기본 설정을 그대로 두고 마법사를 진행하세요(원하는 경우 불필요하다고 생각하거나 “uploads” 폴더의 파일처럼 패키지를 너무 크게 만드는 일부 파일을 제외할 수 있습니다).

    4. 스냅샷이 준비되면 “installer” 및 “package” 파일을 모두 다운로드하세요.

  7. 폴더를 생성하고 3단계와 6.4단계의 파일(디버그 정보가 포함된 텍스트 파일, installer 및 package)을 포함하세요.

  8. 해당 폴더를 압축하여 Google Drive, Dropbox 또는 유사한 서비스에 업로드하세요(또는 압축하지 않고 전체 폴더를 업로드하여 공유하세요).

  9. 지원 포럼으로 이동하여 “임시 해결 방법 문제 – 기본 언어가 아닌 언어로 메뉴 저장 시 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()

이 특정 오류를 해결하려면 다음 단계를 따르세요.

  1. 'wp-content/plugins/sitepress-multilingual-cms/inc/functions.php'
    파일을 열고
    wpml_prepare_in
    을(를) 검색하세요.

  2. 찾을 수 없는 경우 파일 맨 아래에 다음을 추가하세요.
    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;
    }

알려진 모든 문제 →