- 상태
- 해결됨
- 보고된 제품
- WPML Multilingual & Multicurrency for WooCommerce 5.1.3
- 해결된 버전
- WCML 5.2.0
- 관련 플러그인/테마
- Avada
- 주제 태그
- Compatibility
문제 개요
WPML Multilingual & Multicurrency for WooCommerce와 함께 Avada +7.10을 사용할 때, Avada의 Live Editor를 사용하여 페이지를 생성하려고 하면 다음과 같은 치명적인 오류가 발생합니다.
PHP Fatal error: Uncaught Error: Call to a member function get_id() on bool in ../wp-content/plugins/woocommerce-multilingual/inc/class-wcml-orders.php:481
임시 해결 방법
진행하기 전에 반드시 사이트를 전체 백업하세요.
- …/wp-content/plugins/woocommerce/includes/class-wc-order-item-product.php 파일을 여세요.
- 403번 줄을 찾으세요.
- 이 줄을:
return apply_filters( 'woocommerce_get_item_downloads', $files, $this, $order );
다음과 같이 교체하세요:// WPML workaround for compsupp-6711 if ( class_exists('Sitepress') && ! is_object($order) ) { global $woocommerce_wpml; if ( $woocommerce_wpml && isset( $woocommerce_wpml->orders ) ) { $removed = remove_filter( 'woocommerce_get_item_downloads', [ $woocommerce_wpml->orders, 'filter_downloadable_product_items' ], 10 ); } } $result = apply_filters( 'woocommerce_get_item_downloads', $files, $this, $order ); // Maybe restore the filter if ( $removed ) { add_filter( 'woocommerce_get_item_downloads', [ $woocommerce_wpml->orders, 'filter_downloadable_product_items' ], 10, 3 ); } return $result;