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

جميع المشاكل المعروفة →