{"id":264398,"date":"2025-12-07T19:32:44","date_gmt":"2025-12-07T19:32:44","guid":{"rendered":"https:\/\/en-gb.wordpress.org\/plugins\/kitgenix-order-tracking-for-woocommerce\/"},"modified":"2026-03-19T10:14:12","modified_gmt":"2026-03-19T10:14:12","slug":"kitgenix-order-tracking-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/tw.wordpress.org\/plugins\/kitgenix-order-tracking-for-woocommerce\/","author":23310025,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.6","stable_tag":"1.0.6","tested":"7.0","requires":"6.0","requires_php":"8.1","requires_plugins":null,"header_name":"Kitgenix Order Tracking for WooCommerce","header_author":"Kitgenix","header_description":"Add multiple tracking numbers and carriers to WooCommerce orders, show a tracking page, and include tracking in emails.","assets_banners_color":"dbd4eb","last_updated":"2026-03-19 10:14:12","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/donate.stripe.com\/9B65kDgG3fTQ2Kzcmwf7i00","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/kitgenix-order-tracking-for-woocommerce\/","header_author_uri":"https:\/\/kitgenix.com\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":518,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"kitgenix","date":"2025-12-07 19:31:17"},"1.0.1":{"tag":"1.0.1","author":"kitgenix","date":"2025-12-18 13:27:34"},"1.0.2":{"tag":"1.0.2","author":"kitgenix","date":"2026-01-01 19:23:09"},"1.0.3":{"tag":"1.0.3","author":"kitgenix","date":"2026-01-05 21:56:09"},"1.0.4":{"tag":"1.0.4","author":"kitgenix","date":"2026-01-27 19:11:50"},"1.0.5":{"tag":"1.0.5","author":"kitgenix","date":"2026-02-19 22:13:02"},"1.0.6":{"tag":"1.0.6","author":"kitgenix","date":"2026-03-19 10:14:12"}},"upgrade_notice":{"1.0.6":"<p>Maintenance and compatibility update. Recommended for all sites.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3465411,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3465411,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3465411,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3465411,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3430718,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3430718,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3430718,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3430718,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3430718,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3430718,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3430718,"resolution":"7","location":"assets","locale":""}},"screenshots":{"1":"Admin order screen: Add shipments with carrier, tracking number, shipped date, and item quantities.","2":"Tracking form page: Track by order details or tracking number.","3":"Tracking results: carriers, tracking numbers, and \u201cTrack shipment\u201d links.","4":"Completed Order email: clean Shipment Tracking section.","5":"Partially Shipped email: tracking shown for staged fulfilment.","6":"Optional route map: Leaflet + OpenStreetMap preview.","7":"Tracking Analytics dashboard: shipped vs unshipped, shipments, exceptions, time-to-ship, and lookup totals."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2483,180634,3546,550,286],"plugin_category":[45],"plugin_contributors":[246171],"plugin_business_model":[],"class_list":["post-264398","plugin","type-plugin","status-publish","hentry","plugin_tags-emails","plugin_tags-shipments","plugin_tags-shipping","plugin_tags-tracking","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-kitgenix","plugin_committers-kitgenix"],"banners":{"banner":"https:\/\/ps.w.org\/kitgenix-order-tracking-for-woocommerce\/assets\/banner-772x250.png?rev=3465411","banner_2x":"https:\/\/ps.w.org\/kitgenix-order-tracking-for-woocommerce\/assets\/banner-1544x500.png?rev=3465411","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kitgenix-order-tracking-for-woocommerce\/assets\/icon-128x128.png?rev=3465411","icon_2x":"https:\/\/ps.w.org\/kitgenix-order-tracking-for-woocommerce\/assets\/icon-256x256.png?rev=3465411","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/kitgenix-order-tracking-for-woocommerce\/assets\/screenshot-1.png?rev=3430718","caption":"Admin order screen: Add shipments with carrier, tracking number, shipped date, and item quantities."},{"src":"https:\/\/ps.w.org\/kitgenix-order-tracking-for-woocommerce\/assets\/screenshot-2.png?rev=3430718","caption":"Tracking form page: Track by order details or tracking number."},{"src":"https:\/\/ps.w.org\/kitgenix-order-tracking-for-woocommerce\/assets\/screenshot-3.png?rev=3430718","caption":"Tracking results: carriers, tracking numbers, and \u201cTrack shipment\u201d links."},{"src":"https:\/\/ps.w.org\/kitgenix-order-tracking-for-woocommerce\/assets\/screenshot-4.png?rev=3430718","caption":"Completed Order email: clean Shipment Tracking section."},{"src":"https:\/\/ps.w.org\/kitgenix-order-tracking-for-woocommerce\/assets\/screenshot-5.png?rev=3430718","caption":"Partially Shipped email: tracking shown for staged fulfilment."},{"src":"https:\/\/ps.w.org\/kitgenix-order-tracking-for-woocommerce\/assets\/screenshot-6.png?rev=3430718","caption":"Optional route map: Leaflet + OpenStreetMap preview."},{"src":"https:\/\/ps.w.org\/kitgenix-order-tracking-for-woocommerce\/assets\/screenshot-7.png?rev=3430718","caption":"Tracking Analytics dashboard: shipped vs unshipped, shipments, exceptions, time-to-ship, and lookup totals."}],"raw_content":"<!--section=description-->\n<p>Customers don\u2019t just want a tracking number \u2014 they want confidence.<\/p>\n\n<p>After purchase, the questions are predictable:\n\u201cHas it shipped yet?\u201d, \u201cIs this coming in multiple parcels?\u201d, \u201cWhich courier is it with?\u201d, and \u201cCan I track it right now?\u201d<\/p>\n\n<p><strong>Kitgenix Order Tracking for WooCommerce<\/strong> gives you a clean, reliable way to manage <strong>WooCommerce shipment tracking<\/strong> without bloated shipping suites. Add <strong>multiple shipments<\/strong> to a single order (split deliveries, replacements, multi-parcel, different carriers), show tracking clearly to customers, and reduce \u201cwhere is my order?\u201d support tickets with a self-service tracking page.<\/p>\n\n<p>It also includes a <strong>Tracking Analytics<\/strong> screen inside WooCommerce so you can understand shipping speed, exceptions, and how often customers check tracking.<\/p>\n\n<h4>Built for real-world shipping workflows<\/h4>\n\n<p>This plugin is especially useful if you:\n- ship orders in more than one box (multi-parcel \/ multi-shipment),\n- part-ship items while the rest are backordered,\n- use multiple couriers (Amazon Logistics, An Post, DHL, DPD, DX, Evri, FedEx, Parcelforce, Royal Mail, UPS, Woodside, Yodel, etc.),\n- want a branded tracking page instead of sending customers to random courier sites,\n- want tracking shown in emails (cleanly, without duplicate blocks),\n- want a \u201cPartially shipped\u201d workflow and email for staged fulfilment.<\/p>\n\n<h4>What the plugin does<\/h4>\n\n<ol>\n<li>Add one or more shipments to a WooCommerce order (carrier + tracking number + optional shipped date + per-item quantities).<\/li>\n<li>Generate courier tracking links from built-in carrier URL patterns (plus an \u201cOther\u201d courier option for custom links).<\/li>\n<li>Display tracking for customers:\n\n<ul>\n<li>in emails,<\/li>\n<li>and on a public tracking page via shortcode.<\/li>\n<\/ul><\/li>\n<li>Optionally show an approximate delivery route map (Leaflet + OpenStreetMap; no Google Maps, no API key, no CDN).<\/li>\n<li>Monitor operations with a Tracking Analytics dashboard (ship speed, totals, breakdowns, lookups, recent shipments).<\/li>\n<\/ol>\n\n<h4>Key features<\/h4>\n\n<h3>Multiple shipments (multi-parcel, split deliveries, replacements)<\/h3>\n\n<p>Add as many shipments as you need to a single order. Each shipment can include:\n- carrier (optional; if omitted, no carrier tracking link is generated),\n- tracking number,\n- shipped date (optional),\n- shipped items + quantities (line-item allocation for partial fulfilment).<\/p>\n\n<p>This makes partial shipments and multi-parcel deliveries accurate and customer-friendly.<\/p>\n\n<h3>Built-in carriers (UK &amp; Ireland friendly)<\/h3>\n\n<p>Includes a carrier registry with icons and tracking URL patterns, so customers get direct \u201cTrack shipment\u201d links.<\/p>\n\n<p>Built-in carriers include:\n- Amazon Logistics\n- An Post\n- DHL\n- DPD Ireland\n- DPD UK\n- DX\n- Evri\n- FedEx\n- Other (custom link \/ no pattern)\n- Parcelforce Worldwide\n- Royal Mail\n- UPS Ireland\n- UPS UK\n- Woodside Distribution\n- Yodel<\/p>\n\n<h3>Customer tracking page (self-service)<\/h3>\n\n<p>Add a tracking page anywhere using:\n[kitgenix_tracking_form]<\/p>\n\n<p>The tracking form supports:\n- Order-based lookup (order number + billing email + postcode), and\n- Tracking-number lookup (useful when the customer only has parcel details)<\/p>\n\n<p>Great for reducing support tickets and giving customers a consistent experience.<\/p>\n\n<h3>Tracking in WooCommerce emails (done cleanly)<\/h3>\n\n<p>Tracking is appended to:\n- WooCommerce Completed Order email, and\n- the plugin\u2019s own Partially Shipped email<\/p>\n\n<p>Includes duplicate-guarding so tracking blocks aren\u2019t repeated if templates\/hooks are customised.<\/p>\n\n<h3>\u201cPartially shipped\u201d order status + email (included)<\/h3>\n\n<p>The plugin registers:\n- a custom order status: <strong>wc-partially-shipped<\/strong> (\u201cPartially shipped\u201d), and\n- a custom email: <strong>Kitgenix Partially Shipped<\/strong><\/p>\n\n<p>Ideal for stores that ship in stages and want to send tracking early without marking the whole order completed.<\/p>\n\n<h3>Optional route map (OpenStreetMap + Leaflet)<\/h3>\n\n<p>If enabled, the tracking view can show an approximate route map using:\n- Leaflet (bundled locally \u2014 no CDN),\n- OpenStreetMap tiles,\n- Nominatim geocoding (endpoint + contact email are filterable)<\/p>\n\n<p>Includes fallbacks if geocoding fails (shows what it can, or hides the map with a message).<\/p>\n\n<h3>Tracking Analytics dashboard (inside WooCommerce)<\/h3>\n\n<p>Adds an admin screen under the Kitgenix hub with practical metrics:\n- shipped vs unshipped orders,\n- total shipments,\n- exceptions,\n- average\/median time-to-ship,\n- carrier\/status breakdowns,\n- recent shipments,\n- customer tracking lookup totals,\n- date range selection (predefined windows like 7\u2013180 days)<\/p>\n\n<p>Calculations are batched and cached briefly (transients) to keep the dashboard fast.<\/p>\n\n<h4>How it works (quick overview)<\/h4>\n\n<p>1) Add tracking in wp-admin\nEdit an order and use the <strong>Order Tracking<\/strong> meta box. Create shipments using the \u201cAdd tracking\u201d modal:\n- tracking number\n- carrier dropdown (explicit selection, or leave blank)\n- shipped date\n- item quantities (loaded via AJAX)\n- optional order status update after save (don\u2019t change \/ partially shipped \/ completed)<\/p>\n\n<p>2) Tracking appears for customers\nIf shipments exist, customers see a clear \u201cShipment Tracking\u201d section in key emails and via the tracking page.<\/p>\n\n<p>3) Customers can track without contacting you\nUse the shortcode page so customers can look up tracking by order details or by tracking number.<\/p>\n\n<p>4) You can measure shipping performance\nOpen Tracking Analytics to see speed, breakdowns, and customer behaviour.<\/p>\n\n<h3>Quick Start<\/h3>\n\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Create a page called \u201cTrack Your Order\u201d (or similar).<\/li>\n<li>Add this shortcode:\n[kitgenix_tracking_form]<\/li>\n<li>Edit any order and add a shipment in the Order Tracking meta box.<\/li>\n<li>Send a Completed Order email (or use Partially Shipped) and confirm tracking is shown.<\/li>\n<\/ol>\n\n<h3>Developers<\/h3>\n\n<p>Text domain:\nkitgenix-order-tracking-for-woocommerce<\/p>\n\n<p>Shortcode:\n[kitgenix_tracking_form]<\/p>\n\n<p>Data model (high level):\n- Shipments are stored as order meta under <code>_kitgenix_tracking_shipments<\/code> (array)\n- Tracking numbers are indexed for fast lookup via repeated order meta <code>_kitgenix_tracking_number<\/code> (one meta row per tracking number)\n- Admin UI stores the last chosen \u201cupdate order status\u201d action as order meta <code>kitgenix_order_status_action<\/code> (values: <code>no_change<\/code>, <code>partial<\/code>, <code>completed<\/code>)\n- Carrier settings are stored in the option <code>kitgenix_order_tracking_for_woocommerce_carriers_settings<\/code>\n- Counter option: <code>kitgenix_order_tracking_for_woocommerce_tracking_numbers_added<\/code> (privacy-safe total)\n- Counter option: <code>kitgenix_order_tracking_for_woocommerce_lookup_count<\/code> (successful tracking-page lookups)\n- Analytics aggregates are cached briefly in transients prefixed <code>kitgenix_order_tracking_for_woocommerce_analytics_...<\/code>\n- Activation redirect uses transient <code>kitgenix_order_tracking_for_woocommerce_do_activation_redirect<\/code> (about 30 seconds)\n- No custom database tables are created\n- Uninstall does not automatically remove order meta (to preserve historical tracking)<\/p>\n\n<p>Nonces \/ capabilities (summary):\n- Order edit tracking save uses nonce action <code>kitgenix_order_tracking_save<\/code> (<code>kitgenix_order_tracking_nonce<\/code>) and requires <code>edit_shop_order<\/code>.\n- Order-items modal loads via AJAX action <code>kitgenix_order_tracking_for_woocommerce_get_order_items<\/code> using nonce action <code>kitgenix_order_tracking<\/code>.\n- Tracking form submissions use nonce action <code>kitgenix_tracking_lookup<\/code> (<code>kitgenix_tracking_nonce<\/code>).\n- Carriers (Shippers) settings form uses nonce action <code>kitgenix_order_tracking_for_woocommerce_save_carriers<\/code> (<code>kitgenix_order_tracking_for_woocommerce_carriers_nonce<\/code>).<\/p>\n\n<p>Hooks \/ filters:\n- kitgenix_order_tracking_for_woocommerce_debug_save( bool $enabled, int $order_id ): bool (enable debug order note on save)\n- kitgenix_order_tracking_for_woocommerce_nominatim_email( string $email ): string (supply\/override Nominatim email param)\n- kitgenix_order_tracking_for_woocommerce_nominatim_endpoint( string $endpoint ): string (override geocoding endpoint)<\/p>\n\n<p>Admin AJAX endpoints:\n- wp_ajax_kitgenix_order_tracking_for_woocommerce_get_order_items (load order items into the shipment modal)<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin may connect to external services in two situations:<\/p>\n\n<p>1) When customers click courier tracking links\nTracking links open the carrier\u2019s tracking page (e.g. Amazon Logistics, An Post, DHL, DPD, DX, Evri, FedEx, Parcelforce Worldwide, Royal Mail, UPS, Woodside Distribution, Yodel) or a custom \u201cOther\u201d URL. These links may contain the tracking number.<\/p>\n\n<p>2) When the optional map is enabled\nThe tracking view may request:\n- OpenStreetMap tile images\n- Nominatim geocoding requests (to convert store\/customer address details into coordinates)<\/p>\n\n<p>Map implementation notes:\n- Leaflet is bundled locally (no CDN fallback).\n- Map tiles are loaded from <code>https:\/\/{s}.tile.openstreetmap.org\/{z}\/{x}\/{y}.png<\/code>.\n- Geocoding defaults to <code>https:\/\/nominatim.openstreetmap.org\/search<\/code> and may include the full store and delivery address string in the <code>q<\/code> parameter.<\/p>\n\n<p>3) In wp-admin (Kitgenix hub)\nThis plugin includes a shared \u201cKitgenix hub\u201d component in wp-admin which may fetch publicly available plugin metadata from WordPress.org using WordPress core\u2019s <code>plugins_api()<\/code> function.<\/p>\n\n<p>Caching:\n- Transient: <code>kitgenix_hub_wporg_active_installs_v1<\/code>\n- Transient: <code>kitgenix_hub_wporg_ratings_v1<\/code><\/p>\n\n<p>Leaflet assets are bundled locally (no CDN).<\/p>\n\n<p>No personal data is sold or shared by this plugin. Where external services are used, requests may include data required to perform the function (for example, a tracking number in a carrier link, or address data used for geocoding). Review the relevant provider policies for your use case.<\/p>\n\n<h3>Trademark Notice<\/h3>\n\n<p>All carrier names and logos are trademarks of their respective owners. This plugin is not affiliated with or endorsed by any courier, carrier, OpenStreetMap, or Nominatim service.<\/p>\n\n<h3>Support Development<\/h3>\n\n<p>If this plugin reduces \u201cwhere is my order?\u201d tickets and helps customers self-serve tracking, you can support ongoing development here:\nhttps:\/\/donate.stripe.com\/9B65kDgG3fTQ2Kzcmwf7i00<\/p>\n\n<h3>Credits<\/h3>\n\n<p>Built with \u2764\ufe0e by @kitgenix - https:\/\/kitgenix.com<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install via Plugins \u2192 Add New and search for \u201cKitgenix Order Tracking for WooCommerce\u201d, or upload the ZIP to \/wp-content\/plugins\/.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Create a tracking page and add:\n[kitgenix_tracking_form]<\/li>\n<li>Add shipments in WooCommerce \u2192 Orders \u2192 Edit order.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20add%20multiple%20tracking%20numbers%20to%20one%20woocommerce%20order%3F\"><h3>Can I add multiple tracking numbers to one WooCommerce order?<\/h3><\/dt>\n<dd><p>Yes. You can add multiple shipments per order, including split parcels and partial shipments.<\/p><\/dd>\n<dt id=\"can%20different%20shipments%20use%20different%20couriers%3F\"><h3>Can different shipments use different couriers?<\/h3><\/dt>\n<dd><p>Yes. Each shipment can have its own carrier and tracking number.<\/p><\/dd>\n<dt id=\"which%20couriers%20are%20supported%3F\"><h3>Which couriers are supported?<\/h3><\/dt>\n<dd><p>Built-in carriers include Amazon Logistics, An Post, DHL, DPD Ireland, DPD UK, DX, Evri, FedEx, Other, Parcelforce Worldwide, Royal Mail, UPS Ireland, UPS UK, Woodside Distribution, and Yodel.<\/p><\/dd>\n<dt id=\"can%20i%20use%20a%20courier%20that%20isn%E2%80%99t%20listed%3F\"><h3>Can I use a courier that isn\u2019t listed?<\/h3><\/dt>\n<dd><p>Yes. Use Kitgenix \u2192 Order Tracking \u2192 Carriers to add custom carriers (including tracking URL patterns with <code>{tracking_number}<\/code>) and enable\/disable built-in carriers. The built-in \u201cOther\u201d carrier is a fallback option with no automatic tracking URL.<\/p><\/dd>\n<dt id=\"do%20customers%20get%20tracking%20in%20emails%20automatically%3F\"><h3>Do customers get tracking in emails automatically?<\/h3><\/dt>\n<dd><p>Yes. Tracking is shown in the Completed Order email and the plugin\u2019s Partially Shipped email when shipments exist.<\/p><\/dd>\n<dt id=\"why%20isn%E2%80%99t%20tracking%20showing%20in%20the%20completed%20order%20email%3F\"><h3>Why isn\u2019t tracking showing in the Completed Order email?<\/h3><\/dt>\n<dd><p>Common causes: tracking isn\u2019t saved yet, the Completed Order email is disabled in WooCommerce, or another plugin\/theme overrides email templates\/hooks. You can also test with the Partially Shipped email.<\/p><\/dd>\n<dt id=\"what%20is%20the%20%E2%80%9Cpartially%20shipped%E2%80%9D%20email%3F\"><h3>What is the \u201cPartially shipped\u201d email?<\/h3><\/dt>\n<dd><p>It\u2019s a dedicated email included with the plugin, designed for staged fulfilment. It can be triggered when an order status changes to wc-partially-shipped.<\/p><\/dd>\n<dt id=\"can%20customers%20track%20without%20logging%20in%3F\"><h3>Can customers track without logging in?<\/h3><\/dt>\n<dd><p>Yes. The tracking page is public. Customers can look up tracking by order details or by tracking number.<\/p><\/dd>\n<dt id=\"can%20customers%20track%20by%20tracking%20number%20only%3F\"><h3>Can customers track by tracking number only?<\/h3><\/dt>\n<dd><p>Yes. Tracking-number lookup is supported.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20work%20with%20hpos%3F\"><h3>Does the plugin work with HPOS?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares compatibility with WooCommerce custom order tables (HPOS).<\/p><\/dd>\n<dt id=\"do%20i%20need%20google%20maps%20for%20the%20map%20feature%3F\"><h3>Do I need Google Maps for the map feature?<\/h3><\/dt>\n<dd><p>No. The optional map uses Leaflet + OpenStreetMap. No API key required.<\/p><\/dd>\n<dt id=\"the%20map%20is%20blank%20%E2%80%94%20what%20should%20i%20check%3F\"><h3>The map is blank \u2014 what should I check?<\/h3><\/dt>\n<dd><p>Check for a strict Content Security Policy, blocked OpenStreetMap tile requests, or aggressive script optimisation. Ensure the tracking page is allowed to load tiles and that frontend assets aren\u2019t being stripped.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20create%20woocommerce%20shipping%20labels%20or%20replace%20fulfilment%20suites%3F\"><h3>Does this plugin create WooCommerce Shipping labels or replace fulfilment suites?<\/h3><\/dt>\n<dd><p>No. It stores shipment tracking data and displays it in the right places. It doesn\u2019t replace full shipping\/fulfilment suites.<\/p><\/dd>\n<dt id=\"is%20this%20gdpr%20friendly%3F\"><h3>Is this GDPR friendly?<\/h3><\/dt>\n<dd><p>The plugin doesn\u2019t add tracking cookies. It uses WooCommerce order details for lookups. Carrier links and map tiles\/geocoding are external services; review their policies for your needs.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.6 (19 March 2026)<\/h4>\n\n<p>Update: Improved the Kitgenix admin header layout for better alignment and less clutter.\nUpdate: Social links in admin headers now render as compact icon buttons (with accessible labels).\nUpdate: Added responsive header helpers so titles\/description and actions\/links lay out consistently.\nFix: \u201cShipper settings saved\u201d notice now displays in the WordPress standard notice area (not inside the header).\nFix: Added defensive notice normalization to prevent notices being relocated into the header by other scripts.\nUpdate: Tracking Analytics \u201cShowing last \u2026\u201d summary and Refresh action now appear within the filters bar.\nFix: Removed a PHP warning in the Tracking Analytics Support tab (undefined variable).\nUpdate: Admin tables inside Kitgenix pages now use Kitgenix styling for a more consistent branded look.\nFix: Added spacing between adjacent action links\/buttons (e.g., Edit\/Delete).\nUpdate: Carriers management now shows built-in carriers and custom carriers as separate cards on the Carriers tab.\nUpdate: Custom carriers are now managed with an Add form plus Edit\/Delete actions (Edit opens a popup modal).\nUpdate: Added icon Upload button for custom carriers (uses the WordPress media library).\nFix: The built-in \u201cOther\u201d carrier is now always listed last.\nCleanup: Normalised admin nonce handling in analytics and settings flows for WordPress.org review compliance.\nMaintenance: Updated the plugin Author URI to the public Kitgenix WordPress.org profile and replaced the old custom admin-menu icon CSS with the native Dashicons icon.<\/p>\n\n<h4>1.0.5 (18 February 2026)<\/h4>\n\n<ul>\n<li>New: Added a Shippers tab (Kitgenix \u2192 Order Tracking \u2192 Shippers) for carrier management.<\/li>\n<li>New: Added enable\/disable controls for built-in carriers (always keeps the \u201cOther\u201d fallback).<\/li>\n<li>New: Added carrier priority ordering so you can control which carriers appear first in the admin carrier dropdown.<\/li>\n<li>New: Added custom carriers with per-carrier enabled toggle, name, tracking URL pattern (supports <code>{tracking_number}<\/code>), optional icon URL, and optional priority.<\/li>\n<li>Change: Carrier dropdown now shows enabled carriers only, ordered by priority.<\/li>\n<li>Change: Renamed the Kitgenix submenu to \u201cOrder Tracking\u201d.<\/li>\n<li>UI: Added Stock Sync for WooCommerce to the Kitgenix hub cards.<\/li>\n<li>Fix: Corrected Kitgenix hub card markup for consistent layout.<\/li>\n<li>Docs: Updated documentation, readme.txt, and WordPress.org screenshots.<\/li>\n<li>Dev: Introduced <code>AdminModule<\/code> entrypoint (keeps settings storage unchanged).<\/li>\n<li>Cleanup: Uninstall now removes the carrier settings option.<\/li>\n<li>Dev: Regenerated \/languages\/kitgenix-order-tracking-for-woocommerce.pot translation template.<\/li>\n<\/ul>\n\n<h4>1.0.4 (27 January 2026)<\/h4>\n\n<ul>\n<li>Improvement: Minor bug fixes, i18n and PHPCS improvements; analytics and email template refinements.<\/li>\n<li>Change: Declared PHP requirement as 8.1.<\/li>\n<li>Cleanup: PHPCS\/i18n\/security fixes across admin and core files (output escaping, translator comments, optional nonce checks).<\/li>\n<li>Change: Standardised allowed HTML and escaping in the admin hub and analytics views for consistent safe output.<\/li>\n<li>Fix: Hardened analytics\/admin asset enqueue detection to prefer $_GET['page'] then fall back to hook-suffix so analytics and hub assets load on existing installs.<\/li>\n<\/ul>\n\n<h4>1.0.3 (05 January 2026)<\/h4>\n\n<ul>\n<li>Improvement: Updated the email hook to align with WooCommerce\u2019s modern email template structure.<\/li>\n<li>Cleanup: Implemented minor code refinements and cleanup for better consistency and maintainability.<\/li>\n<\/ul>\n\n<h4>1.0.2 (01 January 2026)<\/h4>\n\n<ul>\n<li>New: Added a new top-level Kitgenix admin hub menu to manage Kitgenix plugins from one place (install\/activate\/open).<\/li>\n<li>New: Tracking Analytics is now available under Kitgenix \u2192 Tracking Analytics, with a refreshed branded header and quick links to documentation\/support\/reviews.<\/li>\n<li>New: Added a Support tab and a new (privacy-safe) \u201ctracking numbers added\u201d metric; ranklist percentage bars now render reliably via a small admin script.<\/li>\n<li>Improvement: Admin order screen refactor \u2014 improved \u201cAdd tracking\u201d modal markup\/CSS class naming and modal show\/hide behaviour.<\/li>\n<li>Improvement: Admin styling updates \u2014 introduced shared Kitgenix design tokens (including better dark-mode support) and added bundled hub styles\/logos.<\/li>\n<li>Change: Developer-facing \u2014 renamed some internal actions\/filters\/options to match the full plugin slug (e.g. AJAX action, Nominatim filters, lookup counter option). Update any custom code that targets the old names.<\/li>\n<\/ul>\n\n<h4>1.0.1 (18 December 2025)<\/h4>\n\n<ul>\n<li>New: Shortcode tracking page now shows a full order summary and item statuses when an order has not yet shipped (no shipments) \u2014 including optional addresses after postcode verification and the map when available.<\/li>\n<li>New: Added WooCommerce admin Tracking Analytics dashboard (WooCommerce \u2192 Tracking Analytics) with KPIs for shipped\/unshipped orders, total shipments, exceptions, average\/median time-to-ship (days), and all-time tracking lookups.<\/li>\n<li>New: Added carrier and status reporting, including ranked breakdowns with percentage bars plus an improved recent shipments view.<\/li>\n<li>UI: Redesigned Tracking Analytics into a modern, branded reporting dashboard (hero header, tabs, KPI cards with context text, insights panel, trend sparkline, quick date-range presets, and status pills).<\/li>\n<li>Improvement: Improved Analytics performance and stability \u2014 orders are fetched in batches (avoids limit =&gt; -1), analytics calculations are transient-cached, and assets are enqueued using the correct admin hook for reliable loading.<\/li>\n<li>Improvement: Minor UX\/copy improvements for the unshipped state (\u201cnot shipped yet\u201d messaging) and consistent rendering parity with shipped view.<\/li>\n<li>Improvement: Email templates, placement, and styling updates to better match WooCommerce and site branding.<\/li>\n<li>Change: Updated the Partially Shipped HTML and plain templates to align with WooCommerce\u2019s modern email structure (header\/footer hooks, intro block, and additional content handling).<\/li>\n<li>Fix: Guarded template variables to prevent undefined variable notices (e.g., $additional_content).<\/li>\n<li>Improvement: Centralised tracking output into a single renderer (Email_Hooks::append_tracking_to_email) to remove duplication and improve maintainability.<\/li>\n<li>Change: Updated the Partially Shipped template to call the renderer in the correct placement (above the order summary) and rely on hook-aware logic.<\/li>\n<li>UI: Styling improvements \u2014 tracking tables and links now use WooCommerce email colour settings (per-email where available, global fallbacks otherwise) with automatic accessible link contrast when needed.<\/li>\n<li>Improvement: Improved CTA behaviour and item display.<\/li>\n<li>Change: Backwards-compatible changes that avoid modifying WooCommerce core templates \u2014 honours WooCommerce \u2192 Settings \u2192 Emails colours and remains compatible across WooCommerce versions.<\/li>\n<li>UI: Analytics table polish \u2014 sticky headers, compact rows, zebra striping, truncation for long cells, and improved hover\/readability.<\/li>\n<\/ul>\n\n<h4>1.0.0 (7 December 2025)<\/h4>\n\n<ul>\n<li>New: Initial release.<\/li>\n<li>New: Add multiple tracking numbers to WooCommerce orders.<\/li>\n<li>New: Customer tracking page via [kitgenix_tracking_form] shortcode.<\/li>\n<li>New: Carrier logos and automatic tracking URLs.<\/li>\n<li>New: Optional OpenStreetMap delivery route display.<\/li>\n<li>New: Custom \u201cKitgenix Partially Shipped\u201d WooCommerce email.<\/li>\n<li>New: Tracking details included in Completed Order email.<\/li>\n<\/ul>","raw_excerpt":"Add WooCommerce order tracking, multi-shipment support, email tracking links, and a public customer tracking page.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/264398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=264398"}],"author":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kitgenix"}],"wp:attachment":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=264398"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=264398"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=264398"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=264398"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=264398"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=264398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}