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 );
    			}
    		}
    //	}

כל התקלות הידועות →