WooCommerce Delivery Date Estimator
A lightweight WooCommerce plugin that displays configurable delivery estimates on product, cart, and checkout pages.
by Nikita Patel · github.com/nikita2230/woo-delivery-date-estimator · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/nikita2230/woo-delivery-date-estimator/archive/refs/heads/main.zipA lightweight WooCommerce plugin that displays an estimated delivery range on product, cart, and checkout pages.
It helps shoppers answer a common pre-purchase question:
When will my order arrive?
Features
- Delivery estimates on product pages
- Classic cart and checkout support
- WooCommerce Cart and Checkout block support
- Configurable handling time
- Configurable minimum and maximum transit days
- Configurable daily order cutoff
- Automatic weekend exclusion
- WordPress store-timezone support
- Global enable/disable control
- Individual product, cart, and checkout visibility controls
- Clean uninstall process
- No external APIs or visitor tracking
Requirements
- WordPress 6.4 or newer
- PHP 7.4 or newer
- WooCommerce installed and activated
Installation
- Download the plugin ZIP.
- Open WordPress Admin → Plugins → Add New Plugin.
- Select Upload Plugin.
- Upload the ZIP file.
- Activate WooCommerce Delivery Date Estimator.
- Open WooCommerce → Delivery Estimate.
- Configure and save the delivery settings.
Settings
| Setting | Description |
|---|---|
| Enable delivery estimate | Globally enables or disables frontend output |
| Show on product pages | Controls product-page visibility |
| Show on cart page | Controls cart visibility |
| Show on checkout page | Controls checkout visibility |
| Handling days | Store processing time in business days |
| Minimum transit days | Earliest transit duration |
| Maximum transit days | Latest transit duration |
| Order cutoff hour | Moves late orders to the next business day |
The cutoff uses 24-hour time. For example, 14 means 2:00 PM.
Delivery calculation
The delivery range is calculated using:
Handling days + Transit days
Saturdays and Sundays are skipped.
If an order is placed after the configured cutoff or during a weekend, the calculation begins from the next business day.
Example:
Handling time: 1 business day
Minimum transit time: 2 business days
Maximum transit time: 5 business days
Estimated range: 3–6 business days
Project structure
woo-delivery-date-estimator/
├── assets/
│ └── css/
│ └── delivery-estimate.css
├── includes/
│ ├── class-wdde-date-calculator.php
│ ├── class-wdde-frontend.php
│ ├── class-wdde-plugin.php
│ └── class-wdde-settings.php
├── .gitignore
├── LICENSE
├── README.md
├── readme.txt
├── uninstall.php
└── woo-delivery-date-estimator.php
Architecture
The plugin separates responsibilities into focused classes:
WDDE_Plugininitializes the plugin and checks the WooCommerce dependency.WDDE_Settingsregisters, sanitizes, and renders administration settings.WDDE_Date_Calculatorperforms business-day calculations.WDDE_Frontendhandles WooCommerce hooks, blocks, frontend output, and styles.
Supported WooCommerce views
- Single-product templates
- Classic cart shortcode
- Cart block
- Classic checkout shortcode
- Checkout block
Privacy
This plugin:
- Does not collect personal information
- Does not create cookies
- Does not contact external services
- Does not track visitors
- Stores only administrator-configured settings
Roadmap
- Product-specific handling times
- Public-holiday exclusions
- Shipping-zone-specific estimates
- Customizable frontend message
- Custom colors and icons
- Automated calculation tests
- Translation files
Contributing
Issues and pull requests are welcome.
When reporting a problem, include:
- WordPress version
- WooCommerce version
- PHP version
- Active theme
- Whether Cart and Checkout use blocks or classic shortcodes
License
Licensed under the GNU General Public License v2.0 or later.
Author
Nikita Patel
WordPress and WooCommerce Developer