- Trạng thái
- Đã giải quyết
- Được báo cáo cho
- WPML Multilingual & Multicurrency for WooCommerce 5.5.2.1
- Đã giải quyết trong
- WooCommerce Multilingual & Multicurrency 5.5.2.2
- Thẻ chủ đề
- WCML
Tổng quan về lỗi
Trong WPML Multilingual & Multicurrency for WooCommerce, có thể xảy ra trường hợp khi dịch một sản phẩm có biến thể, biến thể mặc định trong ngôn ngữ phụ bị thiếu hoặc bị đặt sai thành 0.
Điều này xảy ra khi các giá trị term_id và term_taxonomy_id khác nhau, điều có thể xảy ra với các thuộc tính sản phẩm toàn cục.
Giải pháp tạm thời
Vui lòng đảm bảo sao lưu toàn bộ trang web của bạn trước khi tiếp tục.
- Mở tệp …/woocommerce-multilingual/classes/Synchronization/Component/Attributes.php.
- Tìm dòng 137.
- Thay thế:
$defaultTermIdTranslations = $this->elementTranslations->get_element_translations( $defaultTermId, false, true );
- Bằng:
$defaultTermIdTranslations = [];
- Trên cùng tệp đó, tìm dòng 149 và thay thế:
$translatedDefaultTermId = $this->elementTranslations->element_id_in( $defaultTermId, $language );
- Bằng:
$translatedDefaultTermId = apply_filters( 'wpml_object_id', $defaultTermId, $sanitizedAttributeName, false, $language );
- Sau khi áp dụng các thay đổi này, bạn cần lưu hoặc cập nhật thủ công các sản phẩm gặp sự cố này.