Skip to content

Instantly share code, notes, and snippets.

@thegdshop
Created July 24, 2012 16:28
Show Gist options
  • Select an option

  • Save thegdshop/3171026 to your computer and use it in GitHub Desktop.

Select an option

Save thegdshop/3171026 to your computer and use it in GitHub Desktop.
WooCommerce - Add checkbox field to the checkout
<?php
/**
* Add checkbox field to the checkout
**/
add_action('woocommerce_after_order_notes', 'my_custom_checkout_field');
function my_custom_checkout_field( $checkout ) {
echo '<div id="my-new-field"><h3>'.__('My Checkbox: ').'</h3>';
woocommerce_form_field( 'my_checkbox', array(
'type' => 'checkbox',
'class' => array('input-checkbox'),
'label' => __('I have read and agreed.'),
'required' => true,
), $checkout->get_value( 'my_checkbox' ));
echo '</div>';
}
/**
* Process the checkout
**/
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');
function my_custom_checkout_field_process() {
global $woocommerce;
// Check if set, if its not set add an error.
if (!$_POST['my_checkbox'])
$woocommerce->add_error( __('Please agree to my checkbox.') );
}
/**
* Update the order meta with field value
**/
add_action('woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta');
function my_custom_checkout_field_update_order_meta( $order_id ) {
if ($_POST['my_checkbox']) update_post_meta( $order_id, 'My Checkbox', esc_attr($_POST['my_checkbox']));
}
?>
@hmbashar
Copy link
Copy Markdown

Working fine for checkbox, Thanks for the resource.

Copy link
Copy Markdown

ghost commented May 14, 2020

Hello,

works perfectly, thank you very much!

However, could you help me adapt this code to put the checkout in two more languages? I am using WPML.

Thanks again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment