| 开发者 | kitgenix |
|---|---|
| 更新时间 | 2026年10月30日 18:48 |
| 捐献地址: | 去捐款 |
| PHP版本: | 8.2 及以上 |
| WordPress版本: | 7.4 |
| 版权: | GPLv3 or later |
| 版权网址: | 版权信息 |
[kitgenix_tracking_form]
Tracking Analytics
The plugin includes an admin analytics area for reviewing shipment/tracking activity. Reporting is based on the tracking data stored with WooCommerce orders; it is not a remote courier analytics product and does not profile visitors across websites.
Optional Route Map
Where enabled by the frontend template/settings, the tracking page can display a simple map between the store origin and customer destination. The browser uses the bundled Leaflet library with OpenStreetMap map tiles and can query the public Nominatim geocoding service to translate the displayed addresses into coordinates.
The map is illustrative. The code draws a straight line between geocoded points; it is not a live courier route, vehicle location or turn-by-turn delivery route.
No Google Maps API key is required by this implementation.
Bulk Portability
The plugin includes import/export functionality for tracking records so stores can move or update shipment information in bulk rather than editing every order manually.
Administrators should test bulk imports on a staging copy first when mapping external fulfilment data, especially when orders can have multiple shipments or item allocations.
Privacy and Data
Shipment records are stored with WooCommerce orders. The plugin does not send tracking records to a Kitgenix tracking service. Clicking a courier link takes the customer to that carrier's own website, which then operates under the carrier's own privacy terms.
If the optional route map is used, address text is sent from the customer's browser to the configured Nominatim endpoint for geocoding and map tiles are requested from OpenStreetMap infrastructure. Those services are documented in External Services below.
What This Plugin Does Not Do
[kitgenix_tracking_form]Yes. WooCommerce must be installed and active. If WooCommerce isn't active, the plugin deactivates itself automatically and shows a notice.
Yes. Add as many shipments as you need per order, including split parcels and partial shipments, each with its own carrier and tracking number.
No. It stores the tracking number and links to the carrier's own tracking page. Any shipment status shown in the admin or analytics (Shipped, In transit, Delivered, etc.) is set manually by your staff – the plugin does not call carrier APIs.
Built-in carriers include Amazon Logistics, An Post, Australia Post, Bpost, Canada Post, Chronopost, Colissimo/La Poste, Correos, DHL, Deutsche Post/DHL Germany, DPD Ireland, DPD UK, DX, Evri, FedEx, GLS, NZ Post, Parcelforce Worldwide, PostNL, PostNord, Royal Mail, UPS (US, Ireland, UK), USPS, Woodside Distribution, and Yodel, plus an "Other" option for custom links.
Yes. Use Kitgenix → Order Tracking → Carriers to add a custom carrier with its own tracking URL pattern (using {tracking_number}) and icon, or select "Other" when adding tracking to an order.
It can suggest one for tracking numbers with a distinctive, unambiguous format (UPS's "1Z" prefix, Amazon Logistics' "TBA" prefix, Royal Mail/Parcelforce and USPS formats). This is always shown as an unconfirmed suggestion – it never overwrites a carrier you've explicitly chosen, and ambiguous numeric formats are left unmatched rather than guessed.
Yes. The Bulk Tools tab exports all tracked shipments to CSV and lets you re-import edited files, either appending new shipments or replacing all shipments on the matched orders. Per-item quantities round-trip using an item_id:qty|item_id:qty format.
Yes, once a shipment exists on the order. Tracking appears in the WooCommerce Completed Order email and in the plugin's Partially Shipped email.
The plugin adds a custom order status, "Partially shipped", and a matching customer email. It's designed for stores that ship orders in stages and want to notify customers with tracking before the whole order is complete.
Yes. The [kitgenix_tracking_form] tracking page is public and supports lookup by order number and billing email, or by tracking number alone.
For privacy, full addresses, the route map, and item-level shipment detail are only shown after the customer confirms the postcode, ZIP code, or postal code stored on the order. This check uses country-aware matching, not a single fixed postcode format. If an order has no postcode stored, these details are only shown for an order number and billing email lookup, never for a tracking-number-only lookup.
No. The form shows the same message whether an order doesn't exist or the email doesn't match, so it can't be used to find valid order numbers. Failed lookups are also rate-limited: 20 per IP address every 15 minutes, and an individual order is locked for 15 minutes after 5 wrong email or postcode attempts. Developers can change these limits with the kitgenix_order_tracking_for_woocommerce_max_failed_lookups_per_ip and kitgenix_order_tracking_for_woocommerce_max_failed_lookups_per_order filters.
Yes. The plugin declares HPOS compatibility and its order meta box and save logic work on both the classic and HPOS order-edit screens.
No. The optional map uses Leaflet (bundled with the plugin) and OpenStreetMap tiles, with no API key or CDN required.
Check for a strict Content Security Policy or aggressive script/asset optimisation that might block the bundled Leaflet script or the OpenStreetMap tile and geocoding requests.
No. It records tracking numbers you already have and displays them to customers; it doesn't generate labels, rates, or replace a fulfilment/shipping suite.
It doesn't set tracking cookies and uses WooCommerce's existing order data for lookups. Carrier tracking links and the optional map's tile/geocoding requests are external services – review their own privacy policies for your needs.
No customer or store data is sent to Kitgenix. The plugin adds an optional "Kitgenix" admin page that can look up publicly available plugin listing information (install counts, ratings, icons) from WordPress.org for other Kitgenix plugins, to help you find and manage them – see External Services below.
wc_get_order() directly on the submitted number, which only accepts the order's internal ID, so a customer entering the order number actually shown to them could never find their order. The submitted number is now resolved the same way WooCommerce's own order-tracking shortcode does, through the woocommerce_shortcode_order_tracking_order_id filter, with a fallback to a short list of known order-number meta keys (filterable via kitgenix_order_tracking_for_woocommerce_order_number_meta_keys) before falling back to the raw internal ID.kitgenix_order_tracking_for_woocommerce_show_my_account_panel filter, and its accent colour changed with the kitgenix_order_tracking_for_woocommerce_my_account_accent_color filter.kitgenix_order_tracking_for_woocommerce_max_failed_lookups_per_ip and kitgenix_order_tracking_for_woocommerce_max_failed_lookups_per_order filters.=, +, -, @, a tab or a carriage return with an apostrophe. Shipment CSV imports remove it again automatically, so exported files import back unchanged.Requires PHP: 8.2).cart_checkout_blocks), so WooCommerce no longer lists the plugin as possibly incompatible in the Checkout block editor.$escape argument is now passed explicitly in the shipment CSV export and bulk tracking CSV import, preventing "the $escape parameter must be provided" deprecation notices on PHP 8.4 and later. The CSV format is unchanged..pot translation template for 2.2.0.CHANGELOG.md.CHANGELOG.md file.