A Floración Fan tuvo un buen desafío con un cliente: ¿cómo mostrar la cantidad total de ventas generadas por un código de cupón dado?
Así que logré crear este fragmento, que agrega una columna nueva a la vista de la tabla de cupón de WooCommerce con un valor de «ventas totales» para cada código de cupón. ¡Disfruta!
Php Snippet: Mostrar ventas totales por código de cupón @ WooCommerce> Marketing> Cupones
1 | /** * @snippet Total Sales By Coupon @ WooCommerce Admin * @how-to businessbloomer.com/woocommerce-customization * @author Rodolfo Melogli, Business Bloomer * @compatible WooCommerce 5 * @community https://businessbloomer.com/club/ */ // ------------------------- // 1. Create function that calculates sales based on coupon code function bbloomer_get_sales_by_coupon( $coupon_code ) { global $wpdb ; $total = $wpdb ->get_var( " SELECT SUM(pm.meta_value) FROM $wpdb->posts p INNER JOIN {$wpdb->prefix}postmeta as pm ON p.ID = pm.post_id INNER JOIN {$wpdb->prefix}woocommerce_order_items as oi ON p.ID = oi.order_id WHERE p.post_type = 'shop_order' AND pm.meta_key = '_order_total' AND p.post_status IN ( 'wc-completed', 'wc-processing') AND oi.order_item_type = 'coupon' AND oi.order_item_name LIKE '" . $coupon_code . "' " ); return wc_price( $total ); } // ------------------------- // 2. Add new column to WooCommerce Coupon admin table with total sales add_filter( 'manage_edit-shop_coupon_columns' , 'bbloomer_admin_shop_coupon_sales_column' , 9999 ); function bbloomer_admin_shop_coupon_sales_column( $columns ) { $columns [ 'totsales' ] = 'Total Sales' ; return $columns ; } add_action( 'manage_shop_coupon_posts_custom_column' , 'bbloomer_admin_shop_coupon_sales_column_content' , 9999, 2 ); function bbloomer_admin_shop_coupon_sales_column_content( $column , $coupon_id ) { if ( $column == 'totsales' ) { echo bbloomer_get_sales_by_coupon( get_the_title( $coupon_id ) ); } } |