Common questions
Do I have to set anything up before it works?
No. Activation creates a Product is Any rule at 2–5 business days, so every shippable product shows an estimate straight away. Change those numbers to your real window and you are done.
There is no zone to configure and no shipping method to add.
Why does one product show nothing?
Most often it is virtual, external, or has no price — nothing is being shipped, so nothing is promised. It might also be set to Hide for this product, or match no rule at all.
Are the dates guaranteed?
No, and the wording is deliberately “estimated”. The plugin counts your dispatch days; it does not track a parcel. If a carrier is late, the estimate does not know.
Does it work with my theme?
It attaches to standard WooCommerce hooks, so it works with classic and block themes alike. If the badge lands somewhere awkward, change Display → Position on product page — that moves it earlier or later within the product summary.
Does it slow my site down?
Dates are cached for up to an hour, and the cache clears when you save settings. Product and category pickers in the rule builder search on demand rather than loading your whole catalogue.
Does it work with page caching?
Yes, with one thing to watch. The date caches fine — it is measured in days. The countdown does not: it ticks in the browser but starts from a value the server wrote into the page, so a cached page freezes it at the moment it was generated. Does it work with page caching? covers what to exclude.
Will changing my settings rewrite past orders?
No. The estimate is frozen onto the order at checkout, so order emails, the thank-you page and My Account keep showing what the customer was actually promised.
Can I show it somewhere else?
Use the shortcode [edfw_estimated_delivery] on a product template.
Does it work with the block cart and checkout?
Yes — both are declared compatible, along with HPOS (High-Performance Order Storage).
Can I get the estimate over the API?
Yes. It is exposed on the WooCommerce Products and Orders REST API and on the Store API, which is what a headless storefront would read.
What is in Pro
| Feature | Free | Pro |
|---|---|---|
| Delivery rules, working days, cutoff, holidays | Included | Included |
| Product, category, shipping class, zone, method conditions | Included | Included |
| Countdown, icon, accent colour, message template | Included | Included |
| Per-product override and hide | Included | Included |
| Import and export settings | Included | Included |
| Country condition | Not included | Included |
| Postcode condition | Not included | Included |
| Stock status condition and lead time | Not included | Included |
| Import public holidays | Not included | Included |
| Wording per location | Not included | Included |
| Delivery column in My Account | Not included | Included |
✓ Note
Everything documented outside a Pro marker is in the free plugin, with nothing time-limited or usage-capped.
Languages included
Five ship with the plugin, covering the settings screen and the storefront alike:
- German (
de_DE) - Spanish (
es_ES) - French (
fr_FR) - Italian (
it_IT) - Brazilian Portuguese (
pt_BR)
If your site’s language is one of these, it is already translated — there is nothing to install.
Adding your own language
The plugin is fully translatable. The template is languages/wpactpro-estimated-delivery-date.pot.
- Open the
.potin a tool like Poedit. - Translate, and save as
wpactpro-estimated-delivery-date-{locale}.po— for examplewpactpro-estimated-delivery-date-nl_NL.po. - Place the
.poand the.moit generates inwp-content/languages/plugins/, which survives plugin updates.
The settings screen needs one extra file
⚠ Warning
This is the part that catches people out. The admin screen is JavaScript, and WordPress loads JS translations from a separate.jsonfile rather than the.mo. If you translate only the.po, the storefront will be translated and the settings screen will stay English.
Generate it with WP-CLI:
wp i18n make-json wp-content/languages/plugins/wpactpro-estimated-delivery-date-nl_NL.po --no-purge
Then rename the file it produces to end with the script handle:
wpactpro-estimated-delivery-date-nl_NL-edfw-admin.json
✓ Note
That exact name is the one WordPress looks for first. The md5-style namemake-jsongenerates by default will not be found.
Tip
If you translate the plugin into a language not listed above, send us the.pofile — it will ship with the next release, credited.