- Статус
- Открыто
- Заявлено для
- 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; }