December 30, 2024
1 min read
custom checkbox below the terms and conditions August 24, 2022

To add an additional custom checkbox below the terms and conditions in WooCommerce checkout we can use WooCommerce “woocommerce_checkout_after_terms_and_conditions” hook. Here as an example, we are going to add the “personal data protection and privacy policy” checkbox after the terms and conditions.

It will be something like this..

Add an additional custom checkbox below the terms and conditions in WooCommerce checkout page

Now let’s write some code.

To add an additional custom checkbox below the terms and conditions in Wthe ooCommerce checkout page, Put this code on your functions.php in the child theme.

functions.php
// ===========================
// Custom checkbox
// ===========================
function privacy_checkbox_to_woocommerce_checkout() {
    ?>
    <p class="form-row validate-required">
        <label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox">
            <input type="checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name="privacy_checkbox">
            <span class="woocommerce-terms-and-conditions-checkbox-text">I have read and agree to <a 
 href="/privacy-policy/" class="woocommerce-privacy-link" target="_blank">personal data protection and privacy policy.</a></span> <span class="required">*</span>
        </label>
    </p>
<?php
}
add_action('woocommerce_checkout_after_terms_and_conditions', 'privacy_checkbox_to_woocommerce_checkout' );

Now your custom checkbox is visible on the WooCommerce Checkout page. We are not done yet. if you place an order now you can do without the checkbox checked !!!

So we need to put an error notice if the checkbox is not checked. something like this

Checkbox not checked Notice

Now put this code below of previous code to achieve this notice

funtions.php

// ====================================
// Notice if checkbox is not checked
// =====================================
function privacy_checkbox_checkout_field_process() {
    // Check if set, if its not set add an error.
    if ( ! $_POST['privacy_checkbox'] ){
        wc_add_notice( __( 'Please read and accept the personal data protection and privacy policy to proceed with your order.' ), 'error' );
	}
}
add_action('woocommerce_checkout_process', 'privacy_checkbox_checkout_field_process');

That’s all. You are done. $_POST[‘privacy_checkbox’] privacy_checkbox is the name of our custom checkbox.

Thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *

WordPress Related Post

Show related post on blog single page or any custom post single page

WordPress Ajax Search without plugin [ Easy ]

WordPress Ajax Search without plugin. Fully custom code work with woocommerce as well

Cookie Popup with jQuery

Browser cookies popup accept, store cookies in browser with jQuery

Upload file in hosting server via CPanel corn job

File transfer with Cpanel Cron job. Transfer file super fast

Web Development Project in mind?

if you looking for a web developer for paid contribution to your project I am available for work.

Mukto
Mukto

Click the button below to chat with me.