WPML
상태
개발자가 해결함

문제 개요

BeTheme의 Muffin Builder로 제작한 콘텐츠를 번역할 때 번역된 콘텐츠가 프런트엔드에 표시되지 않거나 아래 스크린샷과 같이 콘텐츠가 인코딩됩니다:

Muffin Builder로 제작한 콘텐츠가 인코딩됨

임시 해결 방법

계속하기 전에 사이트를 전체 백업하세요.

  1. Betheme을 최신 버전으로 업데이트하세요
  2. Betheme > Theme Options > Global > 고급 > Muffin Builder data storage로 이동하여 Serialized | Readable format, required by some plugins 옵션을 선택하세요
  3. wp-content/themes/betheme/functions/theme-functions.php 파일을 열고 아래의 스니펫을 검색하세요:
    /*
     * WPML | Workaround for compsupp-5901
     */
    
    function mfn_wpml_encode_custom_field( $custom_field_val, $custom_field_name ) {
      if ( $custom_field_name === 'mfn-page-items' ) {
    	  $custom_field_val = maybe_unserialize( base64_decode($custom_field_val) );
    	}
    	return $custom_field_val;
    }
    add_filter( 'wpml_encode_custom_field', 'mfn_wpml_encode_custom_field', 10, 2 );
    
    function mfn_wpml_decode_custom_field( $custom_field_val, $custom_field_name ) {
    	if ( $custom_field_name === 'mfn-page-items' ) {
    		$custom_field_val = base64_encode( serialize($custom_field_val) );
    	}
    	return $custom_field_val;
    }
    add_filter( 'wpml_decode_custom_field', 'mfn_wpml_decode_custom_field', 10, 2 );
  4. 이를 아래의 스니펫으로 교체하세요:
    /*
     * WPML | Workaround for compsupp-5901
     */
    function mfn_wpml_encode_custom_field( $custom_field_val, $custom_field_name ) {
        if ( $custom_field_name === 'mfn-page-items' ) {
            $custom_field_val = base64_encode( serialize($custom_field_val) );
        }
        return $custom_field_val;	
    }
    add_filter( 'wpml_encode_custom_field', 'mfn_wpml_encode_custom_field', 10, 2 );
    
    function mfn_wpml_decode_custom_field( $custom_field_val, $custom_field_name ) {
    	if ( $custom_field_name === 'mfn-page-items' && is_string($custom_field_val) ) {
    		$custom_field_val = maybe_unserialize( base64_decode($custom_field_val) );
    	}
    	return $custom_field_val;
    }
    add_filter( 'wpml_decode_custom_field', 'mfn_wpml_decode_custom_field', 10, 2 );
  5. 이미 페이지 번역을 시작한 경우, 원본 페이지를 편집하고 저장하세요.
  6. 번역을 업데이트하면 이제 콘텐츠를 사용할 수 있습니다.

다음 단계

BeTheme 및 Muffin Builder 개발자에게 연락했으며, 가능한 한 빨리 수정 사항을 구현할 것입니다. 지금은 아무런 조치도 취할 필요가 없습니다!

알려진 모든 문제 →