Skip to content

Delivery time

Polish law requires the store to inform about delivery time before placing an order. Polski for WooCommerce lets you set delivery time globally, per product and per variant.

The seller must inform the consumer about the delivery deadline no later than the moment the consumer expresses the will to be bound by the contract (i.e. before clicking the order button). This information should be:

  • clear and understandable
  • given in business days or calendar days
  • visible on the product page

Lack of delivery time information may result in penalties from UOKiK and constitutes a violation of consumer rights.

The plugin registers a dedicated taxonomy polski_delivery_time that allows creating predefined delivery times and assigning them to products.

Go to Products > Delivery Time to manage available terms.

Example terms:

NameSlugDescription
1-2 business days1-2-business-daysProducts in stock
3-5 business days3-5-business-daysProducts ordered from supplier
7-14 business days7-14-business-daysMade-to-order products
Within 24 hourswithin-24-hoursDigital products / express
Available immediatelyavailable-immediatelyImmediate fulfillment

Delivery terms work like a WordPress taxonomy - you can create, edit and delete them in the admin panel.

Go to WooCommerce > Settings > Polski > Prices and configure the “Delivery Time” section.

SettingDescription
Enable delivery timeActivates display on the product page
Default delivery timeFallback value for products without an assigned term
Show on listingDisplays delivery time on category pages
Show in cartDisplays delivery time in the cart
LabelText before the delivery time (default: “Delivery time:“)

The default delivery time (fallback) is displayed when a product does not have an individual term assigned. This allows quick deployment without editing each product separately.

Display hierarchy:

  1. Variant delivery time (if set)
  2. Parent product delivery time (if set)
  3. Default delivery time from global settings (fallback)

If none of the above is set, delivery time information will not be displayed.

In the product editor, in the “Shipping” tab, you will find a Delivery Time field. Select an existing term from the list or create a new one.

For variable products, each variant can have its own delivery time. Expand the variant section and set an individual term. Variants without a set term inherit the value from the parent product.

Use the shortcode [polski_delivery_time] to display delivery time anywhere.

ParameterTypeDefaultDescription
product_idintcurrentProduct ID
labelstring"Delivery time: "Label before the value
show_labelbooltrueWhether to display the label
wrapperstringspanWrapping HTML element
fallbackstring""Text when no delivery time is set

Basic usage:

[polski_delivery_time]

Result: Delivery time: 1-2 business days

Without label:

[polski_delivery_time show_label="false"]

Result: 1-2 business days

With custom label and fallback:

[polski_delivery_time label="Shipping: " fallback="Ask about availability"]

For a specific product:

[polski_delivery_time product_id="456"]

In a PHP template:

echo do_shortcode('[polski_delivery_time product_id="' . $product->get_id() . '"]');
wp_set_object_terms($product_id, '1-2-business-days', 'polski_delivery_time');
$terms = wp_get_object_terms($product_id, 'polski_delivery_time');
if (!empty($terms) && !is_wp_error($terms)) {
$delivery_time = $terms[0]->name;
}
wp_insert_term(
'2-3 business days',
'polski_delivery_time',
[
'slug' => '2-3-business-days',
'description' => 'Standard fulfillment time',
]
);

To import delivery time via CSV, use the column:

CSV columnDescriptionValue
polski_delivery_timeDelivery term name1-2 business days

If a term with the given name does not exist, it will be automatically created during import.

Example:

"Dell XPS 15 Laptop",5499.00,"3-5 business days"
"Logitech MX Mouse",299.00,"1-2 business days"

For products with long fulfillment times, you can programmatically modify the displayed delivery time based on stock levels or order date.

add_filter('polski/delivery_time/display', function (string $delivery_time, WC_Product $product): string {
if ($product->get_stock_quantity() > 0) {
return '1-2 business days';
}
return '7-14 business days';
}, 10, 2);
.polski-delivery-time {
display: inline-block;
margin-top: 0.5em;
font-size: 0.9em;
color: #2e7d32;
}
.polski-delivery-time__label {
font-weight: 600;
}
.polski-delivery-time__value {
color: #333;
}
  1. Check that the module is enabled in settings
  2. Make sure the product has an assigned term or a default fallback is set
  3. Verify that the theme supports the woocommerce_single_product_summary hook

Variant delivery time does not change after selection

Section titled “Variant delivery time does not change after selection”

Make sure the plugin JavaScript is loaded. Check the browser console for JS errors. The plugin updates variant delivery time via AJAX when options change.

This page is for informational purposes only and does not constitute legal advice. Consult a lawyer before implementation. Polski for WooCommerce is open source software (GPLv2) provided without warranty.