WPML
สถานะ
เปิด
รายงานสำหรับ
WPML Multilingual & Multicurrency for WooCommerce 5.3.2
แท็กหัวข้อ
Bug

ภาพรวมของปัญหา

วิดเจ็ต WooCommerce Status Dashboard อาจแสดงจำนวนที่ไม่ถูกต้องสำหรับสินค้าที่มีสต็อกเหลือน้อย ปัญหานี้เกิดขึ้นเมื่อมีการแปลสินค้า เนื่องจากวิดเจ็ตนับการแปลของสินค้าเป็นรายการแยกต่างหาก

วิธีแก้ปัญหาชั่วคราว

โปรดตรวจสอบให้แน่ใจว่าคุณได้สำรองข้อมูลทั้งหมดของไซต์ก่อนดำเนินการต่อ


  • เปิดไฟล์ 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;
    }

ปัญหาที่ทราบแล้วทั้งหมด →