r_registered' => $order->get_customer_id() ? 'yes' : 'no', ); if ( function_exists( 'wc_admin_record_tracks_event' ) ) { wc_admin_record_tracks_event( 'order_attribution', $tracks_data ); } } /** * Get the screen ID for the orders page. * * @return string */ private function get_order_screen_id(): string { return OrderUtil::custom_orders_table_usage_is_enabled() ? wc_get_page_screen_id( 'shop-order' ) : 'shop_order'; } /** * Register the origin column in the orders table. * * This accounts for the differences in hooks based on whether HPOS is enabled or not. * * @return void */ private function register_order_origin_column() { $screen_id = $this->get_order_screen_id(); $add_column = function( $columns ) { $columns['origin'] = esc_html__( 'Origin', 'woocommerce' ); return $columns; }; // HPOS and non-HPOS use different hooks. add_filter( "manage_{$screen_id}_columns", $add_column ); add_filter( "manage_edit-{$screen_id}_columns", $add_column ); $display_column = function( $column_name, $order_id ) { if ( 'origin' !== $column_name ) { return; } $this->display_origin_column( $order_id ); }; // HPOS and non-HPOS use different hooks. add_action( "manage_{$screen_id}_custom_column", $display_column, 10, 2 ); add_action( "manage_{$screen_id}_posts_custom_column", $display_column, 10, 2 ); } }