1 回答
TA贡献1851条经验 获得超4个赞
您将获得的订单越多,您的功能就越繁重……相反,最好进行一个直接的更轻量级的 SQL 查询,该查询将获取已定义优惠券代码的订单总数。
然后在优惠券编辑页面上使用自定义侧元框,您将能够显示:
// Get totals orders sum for a coupon code
function get_total_sales_by_coupon( $coupon_code ) {
global $wpdb;
return (float) $wpdb->get_var( $wpdb->prepare("
SELECT SUM( pm.meta_value )
FROM {$wpdb->prefix}postmeta pm
INNER JOIN {$wpdb->prefix}posts p
ON pm.post_id = p.ID
INNER JOIN {$wpdb->prefix}woocommerce_order_items woi
ON woi.order_id = pm.post_id
WHERE pm.meta_key = '_order_total'
AND p.post_status IN ('wc-processing','wc-completed')
AND woi.order_item_name LIKE '%s'
AND woi.order_item_type = 'coupon'
", $coupon_code ) );
}
// Adding Meta container to admin shop_coupon pages
add_action( 'add_meta_boxes', 'add_custom_coupon_meta_box' );
if ( ! function_exists( 'add_custom_coupon_meta_box' ) )
{
function add_custom_coupon_meta_box()
{
add_meta_box( 'coupon_usage_data', __('Usage data','woocommerce'), 'custom_coupon_meta_box_content', 'shop_coupon', 'side', 'core' );
}
}
// Displaying content in the meta container on admin shop_coupon pages
if ( ! function_exists( 'custom_coupon_meta_box_content' ) )
{
function custom_coupon_meta_box_content() {
global $post;
$total = get_total_sales_by_coupon( $post->post_title );
printf( __("Total sales: %s"), wc_price( $total ) );
}
}
代码在您的活动子主题(或活动主题)的functions.php 文件中。测试和工作。
- 1 回答
- 0 关注
- 137 浏览
添加回答
举报