<?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'])); | |
} | |
?> |
This comment has been minimized.
This comment has been minimized.
In your functions.php of your theme. |
This comment has been minimized.
This comment has been minimized.
I know the my_custom_checkout_field_process() makes the custom field required, but it does not show the typical red asterisk that other required fields have. How can that be done? |
This comment has been minimized.
This comment has been minimized.
How is the custom field shown on the Order in WP-Admin? The my_custom_checkout_field_display_admin_order_meta() function (from http://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/) did not work for me. |
This comment has been minimized.
This comment has been minimized.
Is it possible that i use the same code for my checkout page where i want additional pricings to be added automatically once chosen or ticked by a user? Lets say I have a checkout with a digital product, and i want additional pricing to be added for Add-ons that comes with it would it be possible to use this? |
This comment has been minimized.
This comment has been minimized.
Thanks for this! Saved the day. |
This comment has been minimized.
This comment has been minimized.
This is great but I would love to know what code I would include to make this check box appear when only certain categories of products are in the checkout. |
This comment has been minimized.
This comment has been minimized.
This functionality does work to provide a checkbox that is required to proceed, but it doesn't show that value on the back-end. I'm looking for something similar and stumped, my goal is, checkbox that says "Add me to your mailing list." Yes/No, save on Administrative back end. Doesn't necessarily have to be required. Has anyone been able to do something like this? |
This comment has been minimized.
This comment has been minimized.
Thanks for the code. It´s working fine. How I can add 6 checkboxes among each other? |
This comment has been minimized.
This comment has been minimized.
Yes, its a very useful Plug-In. Thank you :-) Short Question: If the checkbox is not clicked, instead of "Please agree to.." it says |
This comment has been minimized.
This comment has been minimized.
Where in the function.php must I place this code. I only need a accepted checkbox for the terms of delivery etc 'I have read and agreed', very simple |
This comment has been minimized.
This comment has been minimized.
Thanks for this! Just a little note: I had to change |
This comment has been minimized.
This comment has been minimized.
eduardo-marcolino fix for WC 2.3 and above work like a charm. Thanks man! |
This comment has been minimized.
This comment has been minimized.
add_action( 'woocommerce_after_order_notes', 'my_custom_checkout_field' ); function my_custom_checkout_field( $checkout ) { "; ";
}
woocommerce_form_field( 'digest_subscribe', array( 'type' => 'checkbox', 'class' => array('my-field-class form-row-wide'), 'label' => __('Please send me the Online Yoga Weekly newsletter with news links, yoga pose, and inspiration for my practice.'), 'default' => 1 ), $checkout->get_value( 'digest_subscribe' )); if(in_array('6614',$productid)){ Please update me about latest video in YogaLifeTV.
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process'); add_action('woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta'); function my_custom_checkout_field_update_order_meta( $order_id ) { we are |
This comment has been minimized.
This comment has been minimized.
Can anyone help with this? I am trying to add a check box or radio button at checkout for the parent to choose which child they are registering for. The children information has been added to the parents profile using custom fields. Is there anyway for woocommerce to auto pull each child name so the parent can choose which child they are signing up and also have this displayed in the email thats sent out? Some parents may only have one kid some may have 4. Thanks! |
This comment has been minimized.
This comment has been minimized.
Can anyone help me on this? |
This comment has been minimized.
This comment has been minimized.
Hi there, I am having problem with this code. If I copy it in full it breaks my site. If I edit it to remove the error message piece of the code, it works on the front end, but I do not receive notification in the order notes. Thanks if you can help! |
This comment has been minimized.
This comment has been minimized.
also for me throwing: if it's not clicked. instead of "Please agree to my checkbox." I can not find any other tutorial how to solve this task manually (without installing |
This comment has been minimized.
This comment has been minimized.
I was getting an internal server error with the code above after my latest update. Fixed by changing $woocommerce->add_error to wc_add_notice (see comment by eduardo-marcolino above). |
This comment has been minimized.
This comment has been minimized.
Hi, i try change location checkbox to woocommerce_checkout_after_terms_and_conditions. When i change:
i have error:
in line:
What is wrong? |
This comment has been minimized.
This comment has been minimized.
@GamerDamian |
This comment has been minimized.
This comment has been minimized.
If the checkbox isn't checked and throws an error, the form won't submit after it has been checked and the place order button is clicked again. It keeps throwing the error message. Any ideas? |
This comment has been minimized.
This comment has been minimized.
How to add some amount in cart total if the checkbox is checked? |
This comment has been minimized.
This comment has been minimized.
how can i add this checkbox after the payment methods ? |
This comment has been minimized.
This comment has been minimized.
Hi there i am getting error on this
What's wrong i am doing ? |
This comment has been minimized.
This comment has been minimized.
Hello, I have tried this code snippit and found that if I leave a required field blank, I get an Internal Server Error. I am wondering what I can do to clear this up? Here is the code in my functions.php: /** Add checkbox field to the checkout function my_custom_checkout_field( $checkout ) {
} /**
function my_custom_checkout_field_process() {
} /**
function my_custom_checkout_field_update_order_meta( $order_id ) { |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
For those of you getting the error with get_value on an array -- use WC_Checkout::get_value instead |
This comment has been minimized.
This comment has been minimized.
Working fine for checkbox, Thanks for the resource. |
This comment has been minimized.
This comment has been minimized.
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. |
This comment has been minimized.
Hi
Which file do I add this to?
thx