function shippo_tracking_ajax_handler() { // Basic tracking by order number only (for now) $order_number = isset($_POST['order_number']) ? sanitize_text_field($_POST['order_number']) : ''; if (empty($order_number)) { echo '
Please enter a valid order number.
'; wp_die(); } // Get order by number or ID $order_id = wc_get_order_id_by_order_number($order_number); if (!$order_id) { $order_id = absint($order_number); } $order = wc_get_order($order_id); if (!$order) { echo '
'; echo '
🔍
'; echo '

Order Not Found

'; echo '

We couldn\'t find an order matching the number you provided. Please check your order number and try again.

'; echo '
'; wp_die(); } // Display basic order info echo '
'; echo '

Order #' . esc_html($order->get_order_number()) . '

'; echo '
'; echo '
'; echo '
Date
'; echo '
' . esc_html($order->get_date_created()->date_i18n('F j, Y')) . '
'; echo '
'; echo '
'; echo '
Status
'; echo '
' . esc_html(wc_get_order_status_name($order->get_status())) . '
'; echo '
'; echo '
'; echo '
Total
'; echo '
' . wp_kses_post($order->get_formatted_order_total()) . '
'; echo '
'; echo '
'; echo '
'; // Get tracking info from standard WooCommerce $tracking_items = get_post_meta($order_id, '_wc_shipment_tracking_items', true); if (!empty($tracking_items) && is_array($tracking_items)) { echo '
'; foreach ($tracking_items as $index => $item) { $carrier = isset($item['tracking_provider']) ? $item['tracking_provider'] : 'Carrier'; $tracking_number = isset($item['tracking_number']) ? $item['tracking_number'] : ''; $tracking_url = isset($item['tracking_url']) ? $item['tracking_url'] : ''; echo '
'; echo '
'; echo '

Package ' . ($index + 1) . '

'; echo 'Shipped'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
Tracking Number
'; echo '
' . esc_html($tracking_number) . '
'; echo '
'; echo '
'; echo '
Carrier
'; echo '
' . esc_html($carrier) . '
'; echo '
'; echo '
'; if (!empty($tracking_url)) { echo '
'; echo 'Track on Carrier Website'; echo '
'; } echo '
'; echo '
'; } echo '
'; } else { echo '
'; echo '

No tracking information is available for this order yet. If your order was recently placed, please check back later.

'; echo '
'; } wp_die(); } // Make sure both hooks are in place add_action('wp_ajax_shippo_track_order', 'shippo_tracking_ajax_handler'); add_action('wp_ajax_nopriv_shippo_track_order', 'shippo_tracking_ajax_handler'); Landscape Lighting & Irrigation Supply | Big Irrigation Supply
box-time-svgrepo-com

Free Shipping

All USA orders

support-svgrepo-com

Live Support

Chat, text, or email

money-send-svgrepo-com

Pro Pricing

No account needed

global-svgrepo-com

Warehouse

Stock Nationwide