На моем веб-сайте Woocommerce максимальная вместимость заказов составляет 50.
Я пытаюсь сообщить покупателю в его корзине о заказах, оставшихся до того, как мы закроем заказ.
Мне нужно получить общее количество товаров, уже обрабатываемых в каждом заказе + новые заказы в корзине, вычтенные из максимума 50.
Я попробовал это, используя этот код:
function display_woocommerce_order_count() {
global $woocommerce;
$args = array(
'post_type' => 'shop_order',
'post_status' => 'publish',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'shop_order_status',
'field' => 'slug',
'terms' => array('processing')
)
)
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$order_id = $loop->post->ID;
$order = new WC_Order($order_id);
$order_count = 0;
foreach( $order as $product ) {
$order_item = $product['qty'];
if($qty) {
$order_count += $order_item;
}
}
ob_start();
//Echo the number of items in cart.
$count = $woocommerce->cart->cart_contents_count;
//Difference max - orders processing - cart items
$total_diff = 50 - number_format($order_count) - $count;
echo $total_diff;
return ob_get_clean();
}
Как я могу заставить это работать так, как ожидалось?
Спасибо