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 *

ACF

Easy ACF repeater Bootstrap accordion in WordPress

FAQ collapse design with ACF repeater Bootstrap accordion

Allow Only Business Email Addresses in the Email Field of Elementor Forms

Find out how to restrict email fields in Elementor forms to business emails only. Improve form data quality by blocking free email domains like Gmail and Yahoo.

Adding and Removing Class Based on Element Visibility in the Viewport

Add class on element if it come in view and remove not in view

ACF

Filter custom post type by Custom Field (ACF) in the admin area

Show filter on custom post type admin area with custom field value

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.