All articles
2026-08-14 · Dreamfox Team

Set a Delivery Cut-Off Time in WooCommerce

Set a WooCommerce delivery cut-off time: same-day dispatch deadlines, lead times, timezone traps, weekend handling and a countdown that lifts conversions.

Clock showing a dispatch cut-off moment beside a calendar and parcel for WooCommerce delivery

The cut-off time is the least glamorous setting in a delivery system and the one that prevents most broken promises. Without it, an order placed at 16:45 on Friday cheerfully selects Saturday delivery, and nobody discovers the problem until Monday. With it, the calendar simply stops offering what the warehouse cannot do.

Work backwards from the carrier

The cut-off is not a marketing number. Derive it:

  • Last collection. The time your carrier's van actually leaves — 17:00, say.
  • Picking and packing. How long a normal order takes from payment to labelled parcel, including the queue ahead of it. Call it 90 minutes at busy times.
  • Safety margin. Fifteen to thirty minutes so one awkward order does not miss the van.

That gives a cut-off around 15:00, not 17:00. Publishing 17:00 because it sounds better is how stores end up sending "sorry, your order will now arrive Tuesday" emails.

What the cut-off must do at checkout

Past the deadline, three things change:

  1. Today disappears from the date picker.
  2. Lead time shifts by one working day, so the earliest selectable date moves forward.
  3. Any same-day slot is removed even if the date itself is still valid for other reasons.

All three must be evaluated against the store's timezone from WordPress settings. Judging a cut-off with the browser clock means a customer in another timezone sees a different deadline from your warehouse — occasionally a whole day out.

Weekends and non-delivery days stack

A cut-off alone is not enough; it has to combine with the days you deliver. After Friday 15:00, a store that does not deliver at weekends should offer Monday at the earliest, and Tuesday if Monday dispatch depends on Sunday work. Express it as: apply the cut-off, then advance to the next available delivery weekday, then remove any blocked dates.

Get the order of those three operations wrong and you produce impossible dates on exactly the days that matter most — long weekends and holidays.

Implementation sketch

```php function store_earliest_delivery_date(): DateTimeImmutable { $tz = wp_timezone(); $now = new DateTimeImmutable( 'now', $tz ); $cutoff = $now->setTime( 15, 0 );

$earliest = $now > $cutoff ? $now->modify( '+2 days' ) // missed today's dispatch : $now->modify( '+1 day' );

while ( in_array( (int) $earliest->format( 'N' ), [ 6, 7 ], true ) ) { $earliest = $earliest->modify( '+1 day' ); // skip weekend deliveries }

return $earliest; } ```

Use `wp_timezone()` rather than server time, and re-check the result when the order is submitted. A customer can sit on the checkout page across the cut-off, and the date they selected five minutes ago may no longer be valid.

Configuring instead of coding

Cut-off, lead time, delivery weekdays and holidays interact, and each one added by hand makes the next harder to reason about. Our Delivery Date & Timeslot for WooCommerce plugin exposes them as settings that are evaluated together, so the calendar shows only genuinely available dates and the same rules run again on submit.

If you are adding a date picker in the first place, start with the delivery date setup guide, then add capacity limits per slot once demand concentrates on particular days.

The countdown, used honestly

"Order within 2h 14m for dispatch today" works. It is real information, it maps to the rule the calendar already enforces, and it moves undecided customers.

Two conditions. It must be accurate — driven by the same cut-off, in the same timezone. And it must not reset when the deadline passes; after the cut-off it should quietly become "order today for dispatch tomorrow". A countdown that restarts is a dark pattern, and in several jurisdictions a regulatory problem rather than a design opinion.

Test before peak season

Set your machine's clock to five minutes before the cut-off and place an order; then to five minutes after and place another. Repeat on a Friday and on the day before a holiday. Those four tests catch nearly every cut-off bug that would otherwise surface in December, when the cost of getting it wrong is highest.

FAQ

What is a delivery cut-off time in WooCommerce?
It is the daily deadline after which an order can no longer make that day's dispatch. Past the cut-off, today and sometimes tomorrow must disappear from the delivery date picker.
How do I set a cut-off time for same-day dispatch?
Pick the time your last carrier collection leaves, subtract your picking time, and use that as the cut-off. Then remove the same-day option from the calendar automatically once the clock passes it.
Which timezone does the cut-off use?
Always the store's timezone from WordPress settings, never the browser's. A customer ordering from another country must be judged against your warehouse clock, not their own.
How should the cut-off behave on weekends?
Combine it with your delivery weekdays. An order after Friday's cut-off should offer the next working day, which usually means Monday or Tuesday rather than Saturday.
Does a cut-off countdown increase conversions?
It reliably helps when it is truthful: showing the real time remaining for next-day dispatch adds genuine urgency. A fake or resetting countdown damages trust and often breaches consumer rules.

This article is part of our WooCommerce delivery dates topic hub, where the related plugins and guides live together.

Keep reading