How to Change the Delivery Slots Labels

Let's consider you run a flower shop and you want your customers to collect the flowers they ordered online, rather than have them delivered. 

While placing an order, you also want them to select the collection date and time slot for when they can visit your shop. WooCommerce Delivery Slots is the perfect plugin for this setup. However, there is one tiny problem; the labels at checkout all say "Delivery".

We need to change the wording to let the customers know that we are asking for collection details, rather than delivery details. 

We can change these field labels using a handy filter built into WooCommerce Delivery Slots, called iconic_wds_labels.

You will need to add this code snippet to the functions.php of your child theme:

/** 
 * Replace WooCommerce Delivery Slots labels. 
 * 
 * @param array $labels An array of labels.
 * @param WC_Order $order The WooCommerce order object.
 *                        
 * @return array
 */
function iconic_modify_delivery_slots_label( $labels, $order ) {
	$labels['details']           = 'Collection Information';
	$labels['date']              = 'Collection Date';
	$labels['select_date']       = 'Select a collection date';
	$labels['choose_date']       = 'Please choose a date for your collection';
	$labels['select_date_first'] = 'Please choose a date for your collection';
	$labels['choose_time_slot']  = 'Please choose a time slot for your collection';

	return $labels;
}

add_filter( 'iconic_wds_labels', 'iconic_modify_delivery_slots_label', 10, 2 );

The date and time slot labels will now look like this at checkout:

As you can see, the labels now clearly reflect that the date and time slots are for collection, rather than delivery. 

This is just one example, you can use the same code snippet to change the labels as per your requirement.

Which Labels Can I modify?

The iconic_wds_labels filter looks like this, which means you can modify any of these labels:

$labels = apply_filters( 'iconic_wds_labels', array(
	'details'           => __( 'Delivery Details', 'jckwds' ),
	'date'              => __( 'Delivery Date', 'jckwds' ),
	'select_date'       => __( 'Select a delivery date', 'jckwds' ),
	'choose_date'       => __( 'Please choose a date for your delivery.', 'jckwds' ),
	'select_date_first' => __( 'Please select a date first...', 'jckwds' ),
	'time_slot'         => __( 'Time Slot', 'jckwds' ),
	'choose_time_slot'  => __( 'Please choose a time slot for your delivery.', 'jckwds' ),
	'select_time_slot'  => __( 'Please select a time slot...', 'jckwds' ),
	'no_time_slots'     => __( 'Sorry, no slots available...', 'jckwds' ),
), $order );
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.