AI Verified

Name

WooCommerce Product Time Picker

About

This snippet adds a product time picker to the single product template above the add to cart button and save the time picked against the product as meta data. Once a time is picked against the product, you’ll notice it is shown under the product name in the mini-cart, cart, checkout, thank you page, emails, my account area, and order view in the admin dashboard. This is a rather niche requirement and a lot of use cases would require a time picker on the checkout rather than the product page. This particular snippet is useful if you need to set a time against a product. Arrival time, tattoo, and engraving are some example of where a time may need to be picked against a product.

Language

PHP

Rating

Voted: 1 by 1 user(s)

How to Setup Snippet

Simply copy the pre-coded solution to your active child theme’s functions.php or preferably the Code Snippets Plugin.

Link for further information:

The author has provided the following URL that may be helpful to setting up or using this snippet:

https://www.ecommercehints.com/woocommerce-product-time-picker

Codevault

ecommercehints

Scroll down to see more snippets from this codevault.

Wordpress Compatability

The author has indicated that this snippet is compatable up to wordpress version: 6.1

Our AI bot has checked this snippet is compatable up to wordpress version: 6.1

Code Snippet Plugin Sync

Free & Pro

Download this snippet by clicking the download button, then head over to the Code Snippet Plugin settings in your wordpress admin dashboard, select the import menu then upload this file to import into your wordpress site.

Pro Only (Coming Soon)

You will be able to click a button and sync this snippet to your wordpress site automatically and from your dashboard manage all code snippets across all your wordpress sites that have the Code Snippets Pro plugin installed.

Website/ Profile URL:

https://www.ecommercehints.com/

History

Last modified:

06/07/2024

Important Note

This snippet has the following status:

AI Verified

This snippet has been tested by our AI bot, see any comments below.

AI Bot Comments:

Found 0 vulnerabilities

WooCommerce Product Time Picker

 
                    
1/**
2 * Snippet Name: WooCommerce Product Time Picker
3 * Snippet Author: ecommercehints.com
4 */
5 
6// Add the new field
7add_action( 'woocommerce_before_add_to_cart_button', 'ecommercehints_custom_product_time_picker_field' );
8function ecommercehints_custom_product_time_picker_field() {
9 global $product;
10 echo '<div class="ecommercehints_custom_product_time_field">
11 <label for="arrival-time">Team arrival time</label>
12 <input type="time" id="arrival-time" name="arrival-time">
13 </div><br>';
14}
15 
16// Save the field to the cart data
17add_filter( 'woocommerce_add_cart_item_data', 'ecommercehints_save_custom_time_to_cart_data', 10, 3 );
18function ecommercehints_save_custom_time_to_cart_data( $cart_item_data, $product_id, $variation_id ) {
19 if ( !empty( $_POST['arrival-time'] ) ) {
20 $cart_item_data['arrival-time'] = $_POST['arrival-time'];
21 }
22 return $cart_item_data;
23}
24 
25 
26// Show custom field data on cart, checkout, and thank you page.
27add_filter( 'woocommerce_get_item_data', 'ecommercehints_show_custom_time_data_under_product_name', 10, 2 );
28function ecommercehints_show_custom_time_data_under_product_name( $item_data, $cart_item ) {
29 if ( !empty( $cart_item['arrival-time'] ) ) {
30 $item_data[] = array(
31 'key' => 'Team arrival time',
32 'value' => $cart_item['arrival-time'],
33 );
34 }
35 return $item_data;
36}
37 
38// Save the custom field data as order meta
39add_action( 'woocommerce_checkout_create_order_line_item', 'ecommercehints_add_custom_time_data_as_product_meta', 10, 4 );
40function ecommercehints_add_custom_time_data_as_product_meta( $item, $cart_item_key, $values, $order ) {
41 if ( !empty( $values['arrival-time'] ) ) {
42 $item->add_meta_data( 'Team arrival time', $values['arrival-time'] );
43 }
44}

1

Related Snippets

Please see some snippets below related to this snippet..

WooCommerce

AI Verified

1

WooCommerce Show Custom Text Below Login Form Fields

Added: 1 year ago

Last Updated: 2 weeks ago

This quick code snippet allows you to show custom content below the Login form fields on the My Account page.

WooCommerce

AI Verified

1

WooCommerce Checkout Confirm Email Address

Added: 1 year ago

Last Updated: 2 weeks ago

This guide shows you how you can introduce a new required checkout billing field which asks the user to confirm their email address. This sort of solution prevents confirmation emails not being receiv...

WooCommerce

AI Verified

0

Remove the comment field on the checkout page

Added: 1 year ago

Last Updated: 1 year ago

This field is really unnecessary, no major online store I know of uses anything like it. So away with it.

Other Snippets in this Codevault

These are some popular snippets from this users codevault..

WooCommerce

AI Verified

7

WooCommerce Show Number Of People Viewing Product

Added: 1 year ago

Last Updated: 1 day ago

We want to make this solution absolutely clear from the outset. This snippet does NOT generate the actual number of people viewing the product. It shows a randomly generated number in the range of two...

WooCommerce

AI Verified

5

WooCommerce Show Number Of Units Sold On Product Page

Added: 1 year ago

Last Updated: 3 weeks ago

Showing the number of product units sold on the single product page is a great way to introduce Fear Of Missing Out (FOMO). You can highlight how many products are sold to let customers know a product...

WooCommerce

AI Verified

3

WooCommerce Add Content Under The Proceed To Checkout Button On The Cart Page

Added: 1 year ago

Last Updated: 3 weeks ago

How many times have you bought something online and seen trust symbols near the proceed to checkout button on the cart page? “30 Day Money Back Guarantee” or “Secure Checkout” are popular examples. By...