{"id":340677,"date":"2026-08-13T16:55:12","date_gmt":"2026-08-13T16:55:12","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/estimated-delivery-date\/"},"modified":"2026-08-13T16:54:16","modified_gmt":"2026-08-13T16:54:16","slug":"wpactpro-estimated-delivery-date","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/wpactpro-estimated-delivery-date\/","author":18340638,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Estimated Delivery Date for WooCommerce","header_author":"actpro","header_description":"Show shoppers a clear delivery-date estimate on product, cart, checkout and emails \u2014 with rule-based windows, a live preview and an urgency countdown.","assets_banners_color":"ddd5e9","last_updated":"2026-08-13 16:54:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/wpactpro-estimated-delivery-date\/","header_author_uri":"https:\/\/profiles.wordpress.org\/actpro\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"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":"actpro","date":"2026-08-13 16:54:16"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3645869,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3645869,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3645869,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3645869,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3645869,"resolution":"1","location":"assets","locale":"","width":3456,"height":1678},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3645869,"resolution":"2","location":"assets","locale":"","width":3264,"height":1564},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3645869,"resolution":"3","location":"assets","locale":"","width":3116,"height":1410},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3645869,"resolution":"4","location":"assets","locale":"","width":3128,"height":1418},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3645869,"resolution":"5","location":"assets","locale":"","width":3108,"height":1412},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3645869,"resolution":"6","location":"assets","locale":"","width":2738,"height":1346}},"screenshots":{"1":"General settings \u2014 cutoff, countdown and working schedule.","2":"Display settings \u2014 locations, message template, icon and accent color.","3":"Delivery Rules \u2014 the condition builder, with the live product preview.","4":"Holidays &amp; closures.","5":"Advanced","6":"Front View"}},"plugin_section":[],"plugin_tags":[23288,138819,130435,154457,286],"plugin_category":[45],"plugin_contributors":[192344],"plugin_business_model":[],"class_list":["post-340677","plugin","type-plugin","status-publish","hentry","plugin_tags-delivery-date","plugin_tags-delivery-time","plugin_tags-estimated-delivery","plugin_tags-shipping-date","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-actpro","plugin_committers-actpro"],"banners":{"banner":"https:\/\/ps.w.org\/wpactpro-estimated-delivery-date\/assets\/banner-772x250.png?rev=3645869","banner_2x":"https:\/\/ps.w.org\/wpactpro-estimated-delivery-date\/assets\/banner-1544x500.png?rev=3645869","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wpactpro-estimated-delivery-date\/assets\/icon-128x128.png?rev=3645869","icon_2x":"https:\/\/ps.w.org\/wpactpro-estimated-delivery-date\/assets\/icon-256x256.png?rev=3645869","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wpactpro-estimated-delivery-date\/assets\/screenshot-1.png?rev=3645869","caption":"General settings \u2014 cutoff, countdown and working schedule."},{"src":"https:\/\/ps.w.org\/wpactpro-estimated-delivery-date\/assets\/screenshot-2.png?rev=3645869","caption":"Display settings \u2014 locations, message template, icon and accent color."},{"src":"https:\/\/ps.w.org\/wpactpro-estimated-delivery-date\/assets\/screenshot-3.png?rev=3645869","caption":"Delivery Rules \u2014 the condition builder, with the live product preview."},{"src":"https:\/\/ps.w.org\/wpactpro-estimated-delivery-date\/assets\/screenshot-4.png?rev=3645869","caption":"Holidays &amp; closures."},{"src":"https:\/\/ps.w.org\/wpactpro-estimated-delivery-date\/assets\/screenshot-5.png?rev=3645869","caption":"Advanced"},{"src":"https:\/\/ps.w.org\/wpactpro-estimated-delivery-date\/assets\/screenshot-6.png?rev=3645869","caption":"Front View"}],"raw_content":"<!--section=description-->\n<p><strong>Estimated Delivery Date for WooCommerce<\/strong> tells shoppers exactly when their order will arrive \u2014 before they buy. It shows a clear \"get it by\" delivery date on the product page, shop archive, cart, checkout and order emails, calculated from your own shipping rules rather than a guess.<\/p>\n\n<p>Stores that show a delivery estimate convert better than stores that make customers wonder. \"Arrives Thu, Aug 14 \u2013 Mon, Aug 18\" answers the question that otherwise sends people to a competitor.<\/p>\n\n<h4>How the delivery date is calculated<\/h4>\n\n<p>You set a <strong>delivery window in business days<\/strong> (for example 2\u20135 days). The plugin counts forward from today, and automatically:<\/p>\n\n<ul>\n<li>skips weekends and any weekday you do not ship on<\/li>\n<li>skips your store holidays and closures<\/li>\n<li>rolls forward a day when an order is placed after your <strong>order cutoff time<\/strong><\/li>\n<\/ul>\n\n<p>So a 2\u20135 day window ordered on Friday afternoon shows the right dates, not dates that land on a Sunday when you are closed.<\/p>\n\n<h4>Delivery rules: different dates for different products<\/h4>\n\n<p>Not everything ships at the same speed. Build a rule from one or more conditions:<\/p>\n\n<ul>\n<li><strong>Product<\/strong> \u2014 a specific product<\/li>\n<li><strong>Product category<\/strong> \u2014 for example \"Furniture ships slower\"<\/li>\n<li><strong>Shipping class<\/strong> \u2014 bulky items, fragile items<\/li>\n<li><strong>Shipping zone<\/strong> \u2014 domestic versus international<\/li>\n<li><strong>Shipping method<\/strong> \u2014 express versus standard<\/li>\n<\/ul>\n\n<p>Rules combine with <strong>is \/ is not<\/strong> operators, and the <strong>most specific matching rule wins automatically<\/strong> \u2014 a product rule beats a category rule, which beats your store-wide default. You never have to drag rules into the right order.<\/p>\n\n<h4>Urgency countdown<\/h4>\n\n<p>A live <strong>\"Order within 2h 36m\"<\/strong> timer counts down to your dispatch cutoff, right next to the estimate. When the cutoff passes it does not vanish and leave shoppers guessing \u2014 it changes to \"Cutoff passed \u2014 ships next business day\" and the delivery date moves forward automatically.<\/p>\n\n<h4>Everything else, in short<\/h4>\n\n<ul>\n<li><strong>Live admin preview<\/strong> \u2014 a product-page mock-up that updates as you type, countdown included. What you see is what the storefront renders.<\/li>\n<li><strong>Per-product override<\/strong> \u2014 a custom estimate, or no estimate at all, for individual products.<\/li>\n<li><strong>Scheduled start date<\/strong> \u2014 count business days from a future date instead of today, per rule or per product. For pre-orders, restocks and launches.<\/li>\n<li><strong>Display control<\/strong> \u2014 product page, shop\/archive, cart (per item and overall), checkout and order emails, with position control on the product page.<\/li>\n<li><strong>Your wording, your branding<\/strong> \u2014 message template with <code>{start}<\/code>, <code>{end}<\/code> and <code>{days}<\/code> tags, an icon picker (truck, calendar, clock, box) and an accent colour the badge tints itself from, so it suits any theme.<\/li>\n<li><strong>Shortcode<\/strong> \u2014 <code>[edfw_estimated_delivery]<\/code> places the estimate anywhere.<\/li>\n<li><strong>Fast on large catalogues<\/strong> \u2014 optional caching of calculated dates, invalidated automatically when you save; product and category pickers search on demand rather than loading everything.<\/li>\n<li><strong>Works with modern WooCommerce<\/strong> \u2014 HPOS and the Cart &amp; Checkout Blocks are both declared compatible.<\/li>\n<li><strong>Headless ready<\/strong> \u2014 the estimate is exposed on the WooCommerce Products and Orders REST API and on the Store API.<\/li>\n<li><strong>Developer friendly<\/strong> \u2014 dozens of documented actions and filters, and a rule-condition API add-ons can extend.<\/li>\n<\/ul>\n\n<h4>Free, with no catches<\/h4>\n\n<p>Every feature listed above is in the free plugin. Nothing is time-limited, usage-capped or hidden behind a licence key.<\/p>\n\n<p>A separately sold premium upgrade adds stock-aware estimates (extra lead time for backordered and out-of-stock items) plus country and postcode targeting. You never need it for the features described here.<\/p>\n\n<h4>Source code &amp; build tools<\/h4>\n\n<p>The admin settings screen is a React app compiled with <code>@wordpress\/scripts<\/code>. The complete, human-readable source is included in the plugin's <code>src\/<\/code> directory. To rebuild the compiled files in <code>build\/<\/code>, run:<\/p>\n\n<pre><code>npm install &amp;&amp; npm run build\n<\/code><\/pre>\n\n<h3>External services<\/h3>\n\n<p>This plugin uses the Freemius SDK for plugin registration, optional usage diagnostics, and licensing of the separately sold premium upgrade. Every feature of the free plugin works fully without it \u2014 nothing here is locked, limited, or licence-checked.<\/p>\n\n<p><strong>When data is sent:<\/strong> only after you explicitly opt in during activation. If you skip or decline the opt-in, no data is transmitted. You can opt out at any time from the plugin's settings screen.<\/p>\n\n<p><strong>What is sent when you opt in:<\/strong> your site URL, WordPress and PHP versions, active theme and plugin list, and the email address of the account you opt in with. This is used to notify you about updates and security notices, and to understand which environments the plugin runs on.<\/p>\n\n<p>Service provided by Freemius, Inc.<\/p>\n\n<ul>\n<li>Terms of Service: https:\/\/freemius.com\/terms\/<\/li>\n<li>Privacy Policy: https:\/\/freemius.com\/privacy\/<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to the <code>\/wp-content\/plugins\/<\/code> directory, or install it through the Plugins screen.<\/li>\n<li>Activate <strong>Estimated Delivery Date for WooCommerce<\/strong>.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Estimated Delivery Date<\/strong> to set up your rules, display locations, and holidays.<\/li>\n<\/ol>\n\n<p>WooCommerce 7.0 or newer is required.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20show%20an%20estimated%20delivery%20date%20on%20my%20woocommerce%20product%20pages%3F\"><h3>How do I show an estimated delivery date on my WooCommerce product pages?<\/h3><\/dt>\n<dd><p>Activate the plugin and go to WooCommerce \u2192 Estimated Delivery Date. A default rule is created for you, so an estimate appears on every product straight away. Adjust the Min\/Max business days on the Delivery Rules tab, set your cutoff time and working days on General, and you are done.<\/p><\/dd>\n<dt id=\"how%20is%20the%20delivery%20date%20calculated%3F\"><h3>How is the delivery date calculated?<\/h3><\/dt>\n<dd><p>The plugin takes the delivery window (Min\u2013Max business days) from the most specific Delivery Rule that matches the product. It counts forward from today \u2014 or from the next working day if the order is placed after your cutoff time \u2014 skipping non-working weekdays and active holidays, and produces a date range.<\/p><\/dd>\n<dt id=\"can%20i%20set%20different%20delivery%20times%20for%20different%20products%20or%20categories%3F\"><h3>Can I set different delivery times for different products or categories?<\/h3><\/dt>\n<dd><p>Yes. Add a rule targeting a product, category, shipping class, zone or method. A product rule automatically overrides a category rule, which overrides your store-wide default, so you never need to reorder rules. Individual products can also be overridden directly in the product editor.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20weekends%20and%20holidays%20from%20the%20delivery%20estimate%3F\"><h3>Can I exclude weekends and holidays from the delivery estimate?<\/h3><\/dt>\n<dd><p>Yes. Choose which weekdays you dispatch on under General \u2192 Working schedule, and add one-off closures under Holidays. Both are skipped when counting business days, so an estimate never lands on a day you are closed.<\/p><\/dd>\n<dt id=\"what%20is%20the%20order%20cutoff%20time%3F\"><h3>What is the order cutoff time?<\/h3><\/dt>\n<dd><p>It is your daily deadline for same-day dispatch. Orders placed after it start counting from the next working day, so the estimate moves forward automatically. Shoppers see a live \"Order within 2h 36m\" countdown to that deadline.<\/p><\/dd>\n<dt id=\"what%20does%20the%20countdown%20show%20after%20the%20cutoff%20time%3F\"><h3>What does the countdown show after the cutoff time?<\/h3><\/dt>\n<dd><p>It changes to \"Cutoff passed \u2014 ships next business day\" rather than disappearing, so shoppers are never left guessing, and the delivery window moves forward by one working day. The timer returns the next morning. The wording is translatable and filterable via <code>edfw_cutoff_passed_text<\/code>.<\/p><\/dd>\n<dt id=\"does%20it%20show%20the%20delivery%20date%20in%20the%20cart%2C%20checkout%20and%20order%20emails%3F\"><h3>Does it show the delivery date in the cart, checkout and order emails?<\/h3><\/dt>\n<dd><p>Yes \u2014 per cart item, as an overall cart estimate, at checkout, and on order line items in emails and order screens. The estimate is frozen onto the order at checkout, so emails show what the customer was actually promised.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20product%20matches%20no%20rule%3F\"><h3>What happens if a product matches no rule?<\/h3><\/dt>\n<dd><p>No estimate is shown for that product. Keep a catch-all rule (\"Product is Any \u2192 2\u20135 days\") as your store-wide default so every product shows something.<\/p><\/dd>\n<dt id=\"why%20does%20a%20product%20page%20show%20different%20dates%20than%20the%20admin%20preview%3F\"><h3>Why does a product page show different dates than the admin preview?<\/h3><\/dt>\n<dd><p>The live preview shows your store-wide default. A product matching a more specific rule uses that rule's window instead, so the dates can legitimately differ \u2014 the preview footer notes this.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20caching%20plugins%3F\"><h3>Does it work with page caching plugins?<\/h3><\/dt>\n<dd><p>Yes. Calculated dates can be cached for performance, and that cache is refreshed automatically whenever you save settings.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20hpos%20and%20the%20block-based%20cart%20and%20checkout%3F\"><h3>Is it compatible with HPOS and the block-based cart and checkout?<\/h3><\/dt>\n<dd><p>Yes, both are declared compatible.<\/p><\/dd>\n<dt id=\"can%20i%20add%20the%20estimate%20somewhere%20my%20theme%20does%20not%20support%3F\"><h3>Can I add the estimate somewhere my theme does not support?<\/h3><\/dt>\n<dd><p>Use the <code>[edfw_estimated_delivery]<\/code> shortcode, or one of the plugin's filters. Developers can also read the estimate from the WooCommerce REST API and the Store API.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Rule-based delivery estimates with automatic most-specific-rule matching.<\/li>\n<li>Order cutoff with live \"Order within\" countdown and a \"Cutoff passed \u2014 ships next business day\" note after the cutoff.<\/li>\n<li>Working schedule, holidays &amp; closures, per-product overrides.<\/li>\n<li>Scheduled start date, per rule and per product.<\/li>\n<li>Display on product, shop, cart, checkout and order emails, with a live admin preview that matches the storefront exactly.<\/li>\n<li>Message template, icon picker and accent-tinted badge design.<\/li>\n<li>HPOS, Cart &amp; Checkout Blocks, WooCommerce REST and Store API support.<\/li>\n<\/ul>","raw_excerpt":"Show an estimated delivery date on WooCommerce products, cart, checkout and emails. Delivery rules, cutoff countdown, holidays and zones.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/340677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=340677"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/actpro"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=340677"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=340677"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=340677"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=340677"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=340677"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=340677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}