| 开发者 | slbarriosdev |
|---|---|
| 更新时间 | 2026年7月11日 00:06 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
[wcst_tracking] shortcode on any page. Customers look up their shipment with their order number and billing email, no login required. Works with sequential and custom order-number formats, and cuts down the "where is my order?" emails.
A tracking column in the orders list
See at a glance which orders have shipped, with a copy-to-clipboard button next to every tracking number.
Key features
[wcst_tracking] shortcodeGET /wc-shipment-tracker/v1/orders/{order_id}/trackings — list tracking itemsPOST /wc-shipment-tracker/v1/orders/{order_id}/trackings — add a tracking itemGET /wc-shipment-tracker/v1/orders/{order_id}/trackings/{id} — read a tracking itemPUT or PATCH /wc-shipment-tracker/v1/orders/{order_id}/trackings/{id} — update a tracking item (fields you omit keep their value)DELETE /wc-shipment-tracker/v1/orders/{order_id}/trackings/{id} — delete a tracking itemGET /wc-shipment-tracker/v1/providers — list all available carriersorders/{order_id}/trackings routes are also served under the wc/v1 and wc/v2 namespaces.
Or add tracking programmatically and extend the carrier list with a filter:
wcst_add_tracking( $order_id, '1Z9999999', 'UPS' );
add_filter( 'wcst_get_providers', function( $providers ) { $providers['My Region']['My Carrier'] = 'https://mycarrier.com/track?id=%1$s'; return $providers; } );
Filter the Shipment Tracking column on the orders list:
add_filter( 'wcst_orders_list_column_html', function( $html, $order_id, $items ) { return $html; }, 10, 3 );
All available filters:
wcst_get_providers — add, remove or rewrite the carrier listwcst_default_provider — preselect a carrier in the meta boxwcst_provider_url_values — change the values substituted into a tracking URL (%1$s number, %2$s postcode, %3$s country, %4$s order ID)wcst_formatted_item — change the resolved provider name, link and dates of a tracking itemwcst_before_add_tracking_items, wcst_before_update_tracking_items, wcst_before_delete_tracking_items — inspect or alter the items right before they are savedwcst_orders_list_column_html — filter the orders list column markupwcst_rest_prepare_tracking — filter a REST API tracking responsewcst_excluded_email_classes — choose which WooCommerce emails skip the tracking blockwcst_order_number_meta_keys — teach the public lookup form about custom order-number meta keystrackora folder to /wp-content/plugins/, or install directly from the WordPress plugin repository[wcst_tracking] shortcode to any page to create a public Track Your Order pageOpen the order, find the Shipment Tracking meta box, select the carrier, enter the tracking number and ship date, and click Save. The tracking link is instantly added to the customer's order email, their My Account page, and the tracking lookup page.
Yes — completely free. All features (unlimited tracking numbers, 150+ carriers, emails, My Account, tracking page, REST API) are included. There is no premium version and no locked functionality.
Yes. Trackora requires WooCommerce to be installed and active.
Yes. Add the [wcst_tracking] shortcode to any page and customers can look up their shipment by entering their order number and billing email — no login required.
Yes, as many as you need — useful for split shipments or orders shipped with multiple carriers.
Yes. Select "Custom Provider" when adding a tracking item and enter your carrier name and tracking URL, using %1$s where the tracking number should go — for example https://carrier.com/track?id=%1$s. You can also paste the complete link for that one shipment, with the number already in it. The live preview shows the exact URL your customer will open. If the carrier has no tracking page at all, leave the link empty and the number is shown without a Track button.
No. Trackora makes zero server-side requests to third parties. Tracking links are simply URLs that open the carrier's website when a user clicks them.
Yes. Trackora is fully compatible with High-Performance Order Storage (and legacy order storage), declares compatibility with the block-based cart and checkout, and prevents tracking numbers from being copied to subscription renewal orders.
Yes. The plugin provides a REST API covering create, read, update and delete, plus the PHP helpers wcst_add_tracking() and wcst_delete_tracking() for use from themes, plugins, or automation scripts.
Yes. Trackora registers a personal data exporter and eraser with WordPress, so tracking numbers, carrier names and ship dates attached to a customer's orders are included when you run Tools → Export Personal Data or Tools → Erase Personal Data. It also contributes a section to the privacy policy guide at Settings → Privacy.
wcst_orders_list_column_html filter on the Shipment Tracking column of the orders list, and a wcst_before_update_tracking_items filter for symmetry with the add and delete filters. The readme now lists every filter the plugin exposesload_plugin_textdomain() back then also removed the only thing that registers a plugin's own /languages directory — WordPress otherwise looks in wp-content/languages/plugins alone — so all 14 locales silently fell back to English. The call is restored, on the init hook. The template was regenerated and the 24 strings it was missing were translated in every localewc/v1/providers and wc/v2/providers routes. That is a generic path inside WooCommerce core's own namespace and was not ours to register; the carrier catalogue stays at wc-shipment-tracker/v1/providersinput type="url". Some browsers rejected a URL containing the %1$s token as invalid and refused to submit the form