41 lines
905 B
PHP
41 lines
905 B
PHP
|
<?php
|
||
|
/**
|
||
|
* WooCommerce Order Tracking
|
||
|
*
|
||
|
* @package WooCommerce\Tracks
|
||
|
*/
|
||
|
|
||
|
defined( 'ABSPATH' ) || exit;
|
||
|
|
||
|
/**
|
||
|
* This class adds actions to track usage of a WooCommerce Order.
|
||
|
*/
|
||
|
class WC_Order_Tracking {
|
||
|
|
||
|
/**
|
||
|
* Init tracking.
|
||
|
*/
|
||
|
public function init() {
|
||
|
add_action( 'woocommerce_admin_order_data_after_order_details', array( $this, 'track_order_viewed' ) );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Send a Tracks event when an order is viewed.
|
||
|
*
|
||
|
* @param WC_Order $order Order.
|
||
|
*/
|
||
|
public function track_order_viewed( $order ) {
|
||
|
if ( ! $order instanceof WC_Order || ! $order->get_id() ) {
|
||
|
return;
|
||
|
}
|
||
|
$properties = array(
|
||
|
'current_status' => $order->get_status(),
|
||
|
'date_created' => $order->get_date_created() ? $order->get_date_created()->format( DateTime::ATOM ) : '',
|
||
|
'payment_method' => $order->get_payment_method(),
|
||
|
);
|
||
|
|
||
|
WC_Tracks::record_event( 'single_order_view', $properties );
|
||
|
}
|
||
|
}
|
||
|
|