如何计算woocoommerce售出的所有产品

时间:2020-04-24 08:26:19

标签: wordpress pdf woocommerce

我正在尝试对给定卖家的销售情况进行每周汇总(我有一家多供应商的商店,我使用YITH多供应商插件)生成一个每周PDF,其中包含每个卖家的订单摘要,但只能下载其中的内容根据特定的订单,我写出了售出的商品数量,然后转到下一个商品。我需要完成上周所有产品的总销售摘要,例如 产品A 50个 产品B 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 */


?>

0 个答案:

没有答案
相关问题