WPML
סטטוס
פתוח
דווח עבור
WPML Multilingual & Multicurrency for WooCommerce 5.3.2
תגיות נושא
Bug

סקירה כללית של התקלה

הווידג’ט לוח בקרת הסטטוס של WooCommerce עלול להציג ספירה שגויה עבור מוצרים במלאי נמוך. בעיה זו מתרחשת כאשר מוצרים מתורגמים, מכיוון שהווידג’ט סופר תרגומים של מוצר כפריטים נפרדים.

פתרון עוקף

אנא ודא שברשותך גיבוי מלא של האתר לפני שתמשיך.


  • פתח את קובץ functions.php של ערכת העיצוב שלך.

  • הוסף את הקוד הבא:
    add_filter( 'woocommerce_status_widget_low_in_stock_count_pre_query', 'filter_counts' );
    
    function filter_counts( $var ){
    	global $wpdb;
    	$stock   = absint( max( get_option( 'woocommerce_notify_low_stock_amount' ), 1 ) );
    	$nostock = absint( max( get_option( 'woocommerce_notify_no_stock_amount' ), 0 ) );
    	$lowinstock_count = $wpdb->get_var(
    		$wpdb->prepare(
    			"SELECT COUNT( product_id )
    							FROM {$wpdb->wc_product_meta_lookup} AS lookup
    							INNER JOIN {$wpdb->posts} as posts ON lookup.product_id = posts.ID
    							INNER JOIN  {$wpdb->prefix}icl_translations as translations ON posts.ID=translations.element_id
    							WHERE stock_quantity <= %d
    							AND stock_quantity > %d
    							AND posts.post_status = 'publish'
    							AND translations.source_language_code IS NULL",
    			$stock,
    			$nostock
    		)
    	);
    	return $lowinstock_count;
    }

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