Я пытаюсь составить еженедельную сводку по продажам данного продавца (у меня есть магазин мультивендоров, я использую плагин мультивендоров YITH) Создает еженедельный PDF со сводкой заказов для каждого продавца, но загружает только в него В конкретный заказ c я записываю количество проданных товаров и перехожу к следующему. Мне нужно составить общий объем продаж всех продуктов за последнюю неделю, например, Продукт А 50 шт. Продукт Б 25 шт. Продукт C 45 шт., То есть извлечь из каждого заказа название проданного продукта и подсчитать его с каждым заказом, а затем подвести итог. В настоящее время я загружаю все заказы для каждого продавца и пишу название продукта и количество проданных товаров.
$sql_active_vendors = 'SELECT DISTINCT user_id, vendor_id, user_email, name from wp_yith_vendors_commissions
join wp_users on wp_yith_vendors_commissions.user_id = wp_users.id
join wp_terms on wp_yith_vendors_commissions.vendor_id = wp_terms.term_id';
$active_vendors = $wpdb->get_results($sql_active_vendors);
foreach ($active_vendors as $query2) {
$vendor_id = $query2->vendor_id;
$vendor_mail = $query2->user_email;
$vendor_name = $query2->name;
echo $vendor_name . ' ' . $vendor_mail;
$sql3 = 'SELECT DISTINCT wp_yith_vendors_commissions.order_id, date_created from wp_yith_vendors_commissions
join wp_wc_order_product_lookup on wp_yith_vendors_commissions.order_id = wp_wc_order_product_lookup.order_id where vendor_id="' . $vendor_id . '"
AND date_created BETWEEN
"' . $datetime1->format("Y-m-d H:i:s") . '"
AND
"' . $datetime2->format("Y-m-d H:i:s") . '"
';
$order_id = $wpdb->get_results($sql3);
if (count($order_id) > 0) {
echo(count($order_id));
foreach ($order_id as $order_ids) {
echo '</br>' . $vendor_id . ' ' . $vendor_mail . ' ' . $vendor_name . '</br>';
$orderID = $order_ids->order_id;
$order_date = $order_ids->date_created;
$single_order = wc_get_order($orderID);
$product_quantity = array();
$product_name = array();
foreach ($single_order->get_items() as $item) {
echo __('ID zamówienia: ') . $orderID . '<br>';
echo __('Data zamówienia: ') . $order_date . '<br>';
echo __('Nazwa produktu: ') . $item->get_name() . '<br>';
echo __('Ilość: ') . $item->get_quantity() . '<br><br><br>';
$product_quantity[] = $item->get_quantity();
$product_name[] = $item->get_name();
}
$array_combine = array_combine($product_name, $product_quantity);
foreach ($array_combine as $key => $single) {
echo "$key is $single </br>";
}
/* I want here count all sold products from last week, not divide for specific order */
}
} else {
return;
}
ob_flush();
} /*-- END MAIN FOREACH */
?>