- 상태
- 미해결
- 보고된 제품
- 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; }