WC_Orders_Tracking::track_add_order_from_edit()publicWC 1.0

Track "add order" button on the Edit Order screen.

Method of the class: WC_Orders_Tracking{}

No Hooks.

Return

null. Nothing.

Usage

$WC_Orders_Tracking = new WC_Orders_Tracking();
$WC_Orders_Tracking->track_add_order_from_edit();

WC_Orders_Tracking::track_add_order_from_edit() code WC 7.7.0

public function track_add_order_from_edit() {
	// phpcs:ignore WordPress.Security.NonceVerification, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
	if ( isset( $_GET['post_type'] ) && 'shop_order' === wp_unslash( $_GET['post_type'] ) ) {
		$referer = wp_get_referer();

		if ( $referer ) {
			$referring_page = wp_parse_url( $referer );
			$referring_args = array();
			$post_edit_page = wp_parse_url( admin_url( 'post.php' ) );

			if ( ! empty( $referring_page['query'] ) ) {
				parse_str( $referring_page['query'], $referring_args );
			}

			// Determine if we arrived from an Order Edit screen.
			if (
				$post_edit_page['path'] === $referring_page['path'] &&
				isset( $referring_args['action'] ) &&
				'edit' === $referring_args['action'] &&
				isset( $referring_args['post'] ) &&
				'shop_order' === OrderUtil::get_order_type( $referring_args['post'] )
			) {
				WC_Tracks::record_event( 'order_edit_add_order' );
			}
		}
	}
}