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

문제 개요

데이터베이스에 저장된 잘못된 데이터로 인해 상품 페이지에 상품 속성 레이블 번역이 표시되지 않는 문제가 발생합니다.

임시 해결 방법

이 문제에 대한 수정 작업을 진행 중입니다. 그동안 다음 패치를 사용할 수 있습니다. PHP 코드 편집에 익숙하고 사이트의 전체 백업이 정상적으로 작동하는지 확인한 경우에만 테스트 사이트에서 이 작업을 수행하세요.

다음 패치는 “wp-content/plugins/woocommerce-multilingual/inc/class-wcml-attributes.php” 파일의 379번째 줄에 적용해야 합니다.

다음 코드(“get_attr_label_translations” 메서드 전체)를:

public function get_attr_label_translations( $product_id, $lang = false ) {
$trnsl_labels = get_post_meta( $product_id, 'attr_label_translations', true );</code>

if ( ! is_array( $trnsl_labels ) ) {
$trnsl_labels = [];
}

if ( isset( $trnsl_labels[ $lang ] ) ) {
return $trnsl_labels[ $lang ];
}

return $trnsl_labels;
}

다음으로 교체하세요.

	public function get_attr_label_translations( $product_id, $lang = false ) {
		$trnsl_labels = get_post_meta( $product_id, 'attr_label_translations', true );

		$remove_empty_values = function ( $values ) {
			return wpml_collect( $values )->filter()->toArray();
		};

		if ( ! $lang && is_array( $trnsl_labels ) ) {
			return wpml_collect( $trnsl_labels )
				->map( $remove_empty_values )
				->toArray();
		}

		if ( isset( $trnsl_labels[ $lang ] ) ) {
			return $remove_empty_values( $trnsl_labels[ $lang ] );
		}

		return [];
	}

WPML 4.4.0 Beta


이 문제를 해결할 수 있는 베타 버전을 출시했습니다. 테스트 중인 베타 버전이므로 운영 사이트에서 사용해서는 안 된다는 점에 유의하세요. 여기에서 다운로드할 수 있습니다.
https://wpml.org/account/downloads/

알려진 모든 문제 →