WC_Orders_Tracking::track_add_order_from_edit
Track "add order" button on the Edit Order screen.
Method of the class: WC_Orders_Tracking{}
No Hooks.
Returns
null. Nothing (null).
Usage
$WC_Orders_Tracking = new WC_Orders_Tracking(); $WC_Orders_Tracking->track_add_order_from_edit();
WC_Orders_Tracking::track_add_order_from_edit() WC Orders Tracking::track add order from edit code WC 10.8.1
public function track_add_order_from_edit() {
if ( ! OrderUtil::is_new_order_screen() ) {
return;
}
$referer = wp_get_referer();
if ( ! $referer ) {
return;
}
$referring_page = wp_parse_url( $referer );
if ( empty( $referring_page['query'] ) ) {
// Edit Order screen has query args.
return;
}
parse_str( $referring_page['query'], $referring_args );
if ( OrderUtil::custom_orders_table_usage_is_enabled() ) {
$post_edit_page = admin_url( 'admin.php?page=wc-orders' );
$order_id = $referring_args['id'] ?? 0;
} else {
$post_edit_page = admin_url( 'post.php' );
$order_id = $referring_args['post'] ?? 0;
}
$post_edit_page = wp_parse_url( $post_edit_page );
if (
( $post_edit_page['path'] === $referring_page['path'] ) &&
( ! isset( $post_edit_page['query'] ) || false !== strpos( $referring_page['query'], $post_edit_page['query'] ) ) &&
( isset( $referring_args['action'] ) && 'edit' === $referring_args['action'] ) &&
'shop_order' === OrderUtil::get_order_type( $order_id )
) {
WC_Tracks::record_event( 'order_edit_add_order' );
}
}