Modify Auto-Detected Carrier Based on Tracking Number

By default, the get_provider_slug_from_name() function in AST PRO attempts to detect the shipping carrier slug based on the carrier name. However, when the carrier name is passed as “Other” or is unrecognized, the detection cannot be modified externally.

To make this more flexible, AST PRO introduces the ast_auto_detection_provider filter. This filter allows developers to override the auto-detected provider slug using custom logic based on the tracking number and the raw provider name submitted.

Parameters

  • $tracking_provider (string) – Current auto-detected provider slug.
  • $tracking_number (string) – Tracking number submitted with the order.
  • $provider_name (string) – Raw carrier name submitted (e.g. “Other”).

Example Usage

add_filter( 'ast_auto_detection_provider', function( $tracking_provider, $tracking_number, $provider_name ) {
    if ( preg_match( '/^(2X\d{10}|IZ\d{10}|FZ\d{10}|MP\d{10})$/', $tracking_number ) 
        && stripos( $provider_name, 'other' ) !== false ) {
        $tracking_provider = 'aramex-au';
    }
    return $tracking_provider;
}, 10, 3 );

Notes

  • Triggered when get_provider_slug_from_name() runs.
  • Developers can override the $tracking_provider return value with custom logic.
  • Useful for mapping “Other” to specific providers using regex or conditions.
  • Fully tested with manual carrier selection and regex-based detection rules.

$129.00

Billed annually

Buy Now