/var/www/html/wp-content/plugins/woocommerce/includes/tracks/events/class-wc-coupon-tracking.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
/**
 * WooCommerce Coupon Tracking
 *
 * @package WooCommerce\Tracks
 */

/**
 * This class adds actions to track usage of a WooCommerce Coupon.
 */
class WC_Coupon_Tracking {

    
/**
     * Init tracking.
     */
    
public function init() {
        
add_action'woocommerce_coupon_object_updated_props', array( $this'track_coupon_updated' ), 10);
    }

    
/**
     * Send a Tracks event when a coupon is updated.
     *
     * @param WC_Coupon $coupon        The coupon that has been updated.
     * @param Array     $updated_props The props of the coupon that have been updated.
     */
    
public function track_coupon_updated$coupon$updated_props ) {
        
$properties = array(
            
'discount_code'        => $coupon->get_code(),
            
'free_shipping'        => $coupon->get_free_shipping(),
            
'individual_use'       => $coupon->get_individual_use(),
            
'exclude_sale_items'   => $coupon->get_exclude_sale_items(),
            
'usage_limits_applied' => intval$coupon->get_usage_limit() )
                                    || 
intval$coupon->get_usage_limit_per_user() )
                                    || 
intval$coupon->get_limit_usage_to_x_items() ),
        );

        
WC_Tracks::record_event'coupon_updated'$properties );
    }
}