如何显示给定优惠券代码产生的总销售量?而且,由于粉丝是 VIP,所以我可以创建这个代码片段,让这个博客跳过我在长列表中的内容排队,所以您去!

WooCommerce:通过优惠券代码销售

PHP 片段:通过优惠券代码显示总销售额

 

/**
* @snippet Get Total Sales by COUPON
* @how-to Watch tutorial @ https://businessbloomer.com/?p=19055
* @sourcecode https://businessbloomer.com/?p=72576
* @author Rodolfo Melogli
* @testedwith WooCommerce 3.0.7
*/

// -------------------------
// 1. Create function that calculates sales based on coupon code

function bbloomer_get_sales_by_coupon($coupon_id) {

    $args = [
        'post_type' => 'shop_order',
        'posts_per_page' => '-1',
        'post_status' => ['wc-processing', 'wc-completed', 'wc-on-hold']
    ];
    $my_query = new WP_Query($args);
    $orders = $my_query->posts;

    $total = 0;

    foreach ($orders as $key => $value) {
   
	$order_id = $value->ID;
	$order = wc_get_order($order_id);
	$items = $order->get_items('coupon'); 

	foreach ( $items as $item ) {

	if( $item['code'] == $coupon_id ) {
                $total += $order->get_total();
        }

	}
	
    }
    return 'Total sales for coupon "' . $coupon_id . '": ' . wc_price($total);
}

// -------------------------
// 2. Add new tab to WooCommerce "Reports", and print the coupon total sales

add_filter( 'woocommerce_admin_reports', 'bbloomer_add_report_tab' );

function bbloomer_add_report_tab( $reports ) {

$reports['coupons'] = array(
				'title'  => __( 'Coupons', 'woocommerce' ),
				'reports' => array(
					"sales_by_code" => array(
						'title'       => __( 'Sales by code', 'woocommerce' ),
						'description' => bbloomer_get_sales_by_coupon('barmada'), //change coupon code here
						'hide_title'  => false,
						'callback'    => '',
					),
				),
			);

return $reports;
}


可以在哪里添加此代码?

您可以将 PHP 代码片段放置在主题或子主题的 functions.php 文件的底部(如果是 CSS 代码,请添加到主题的 style.css 文件底部),修改之前建议先备份原始文件,若出现错误请先删除此代码。


这段代码是否正常可用?

或者是您有更好的解决方案想要分享?请到薇晓朵 WooCommerce 中文论坛留言告知,我们希望可以帮到更多国内的 WooCommerce 用户也希望您的参与。


需要关于 WooCommerce 的帮助?

请观看我们提供的免费视频教程或到薇晓朵 WooCommerce 中文论坛提问,会有专业技术团队提供相关帮助。