WPML
상태
해결됨
보고된 제품
WPML Multilingual & Multicurrency for WooCommerce 5.3.2
주제 태그
WCML

문제 개요

WooCommerce에 옵션 상품이 있고 보조 언어에서 이루어진 주문으로 인해 품절되는 경우, 다른 언어에서는 재고가 업데이트되지 않습니다. 따라서 주문이 이루어진 언어에서는 “품절”로 표시되고, 다른 모든 언어에서는 구매 가능한 것으로 표시됩니다.

임시 해결 방법


  • 사이트를 백업하세요

  • wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-synchronize-product-data.php 파일을 여세요

  • 다음 부분을
    	public function sync_stock_status_for_translations( $product_id, $status ) {
    
    		if ( $this->woocommerce_wpml->products->is_original_product( $product_id ) ) {
    
    			$translations = $this->post_translations->get_element_translations( $product_id, false, true );
    
    			foreach ( $translations as $translation ) {
    				$this->woocommerce_wpml->products->update_stock_status( $translation, $status );
    				$this->wc_taxonomies_recount_after_stock_change( $translation );
    			}
    		}
    	}

    아래 내용으로 교체하세요:

    	public function sync_stock_status_for_translations( $product_id, $status ) {
    
    	//	if ( $this->woocommerce_wpml->products->is_original_product( $product_id ) ) {
    
    			$translations = $this->post_translations->get_element_translations( $product_id, false, false );
    
    			foreach ( $translations as $translation ) {
    				$this->woocommerce_wpml->products->update_stock_status( $translation, $status );
    				$this->wc_taxonomies_recount_after_stock_change( $translation );
    			}
    		}
    //	}

알려진 모든 문제 →