- Estado
- Resuelto
- Notificado para
- WPML Multilingual & Multicurrency for WooCommerce 5.3.2
- Etiquetas de temática
- WCML
Resumen del problema
Si tiene un producto variable en WooCommerce y se agota con un pedido realizado en el idioma secundario, el inventario no se actualiza en los otros idiomas. Por lo tanto, aparecerá como «agotado» en el idioma en el que se realizó el pedido, y disponible en todos los demás idiomas.
Solución alternativa
- Cree una copia de seguridad de su sitio
- Abra el archivo wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-synchronize-product-data.php
- Reemplace
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 ); } } }por:
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 ); } } // }