我试图获取登录用户收到的所有折扣(以美元为单位)的总计,以显示在仪表板中。
我的目标是显示一条通知,上面写着“您在与我们一起购物时省了$ XXX!”,但是下面的代码不起作用。它仅显示用户已下订单的总数。
我正在寻找一种PHP解决方案,并希望将访问MySQL的需求降到最低,因为我对该语言还不是很熟悉。
global $woocommerce;
$customer = wp_get_current_user();
$customer_orders = get_posts( array(
'numberposts' => -1,
'meta_key' => '_customer_user',
'meta_value' => get_current_user_id(),
'post_type' => wc_get_order_types(),
'post_status' => array('wc-completed', 'wc-processing'), //'post_status' => array_keys( wc_get_order_statuses() ),
) );
$total = 0;
if (!empty($customer_orders)) {
foreach ( $customer_orders as $customer_order ){
$order = new WC_Order( $customer_order->ID );
$total += $order->get_total_discount();
}
}
echo count( $total );