View my basket

Custom Product Delivery Dates

Product-level delivery date chooser for your WooCommerce store

Custom product delivery date for WooCommerce plugin


Licences for this plugin need to be renewed each year

14 Days Money-back guarantee

100% No-Risk, Money Back Guarantee!

Over the next 14 days, if our plugins aren't right for you, we’ll refund 100% of your money. No questions asked!

SKU: PP-CDD-L01-R12 Category: Current: 1.3.1

About Custom Product Delivery Dates

Your customers can choose their delivery dates on a per-product basis from a responsive calendar.

Multiple cart items are grouped together by delivery date at the checkout.

Each WooCommerce product can have its own set of delivery days available (e.g. Mondays and Thursdays), you can disable weekends across the site, and it’s hookable… so you can implement your own delivery date availability logic if you want to.

Date picker for product deliveries
Pick a preferred delivery date


  • Great for stores selling fresh produce around big dates like Christmas and Thanksgiving
  • Include/exclude weekends and individual dates from being available for delivery
  • Includes a “Collect in Store” option
  • Configure available delivery date ranges store-wide, at product-level and for individual product-variations
  • Responsive pop-up calendar
  • Developer-friendly, so you can implement your own delivery date availability logic

Customising the Plugin

To you these snippets, make sure you’re using a custom child theme, then paste them into functions.php.

Custom Styles

Include a custom mini-stylesheet on single product pages that use the date chooser.

function custom_delivery_dates_enqueue_scripts() {
	$base_uri = get_stylesheet_directory_uri();
	$theme_version = wp_get_theme()->get('Version');

	if (function_exists('cpdd_are_custom_delivery_assets_required') && cpdd_are_custom_delivery_assets_required()) {
			get_stylesheet_directory_uri() . '/custom-delivery.css',
add_action('wp_enqueue_scripts', 'custom_delivery_dates_enqueue_scripts');

…and add your custom styles into “custom-delivery.css”.

Dynamically Prevent Delivery Dates

This snippet will prevent Mondays from being available for deliveries.

 * Given an input date (yyyy-mm-dd), return whether or not that date is
 * blocked-out of the delivery date picker as unavailable.
function custom_cpdd_is_delivery_date_blocked($is_blocked, $date_string) {
	$date = new DateTime($date_string, wp_timezone());

	// PHP DateTime formatting:
	$day_of_week = intval($date->format('N'));

	// Block Mondays
	if ($day_of_week == 1) {
		$is_blocked = true;

	// More custom date-blocking conditions...
	// ...
	// ...

	return $is_blocked;
add_filter('cpdd_is_delivery_date_blocked', 'custom_cpdd_is_delivery_date_blocked', 10, 2);

Changelog: Custom Product Delivery Dates

Version 1.3.1

Released: 2023-10-28

  • Fixed a problem for some customers using Mac/Safari. The popup calendar would open, then immediately close again.

Version 1.3.0

Released: 2023-09-04

  • Refactored the codebase so we can add more control over which products are eligible for customer delivery dates and/or collect-in-store - options for this will come in the next version (coming soon)
  • Added server-side add-to-cart validation for products that don't have a delivery date specified

Version 1.2.0

Released: 2023-09-01

  • Fixed a problem with newer JS where customers could pick an empty delivery date
  • Added some new filters so developers can hook/modify per-product configuration and CSS
  • Tested for the new WooCommerce High Performance Object Storage

Older releases

  • Replaced deprecated WooCommerce action hook with the newer woocommerce_checkout_create_order_line_item. There should be no functional difference in general use of the plugin.
  • Added a new option to copy cart item delivery method/date to the order item meta. Useful when you want to export product data from your WooCommerce orders.

Added a new option to the WooCommerce product editor, to make specific days of the week available/unavailable for delivery (at product-level).

Minor update to support the newer version of the Power Plugins back-end updater.

  • Fixed problem with the date picker not rendering on simple products.
  • Fixed a typo in the admin area.
  • Updated JS to fix a problem after changing product variation.
  • Initial release


There are no reviews yet.

Be the first to review “Custom Product Delivery Dates”

Custom product delivery date for WooCommerce plugin
Custom Product Delivery Dates