47
When going legal… you need proof. Accepting the “Terms and Conditions” on the checkout is required in order to place an order – but how can you, WooCommerce store admin, “prove” that the Terms and Conditions were actually ticked by the customer?
One of the solutions might be to save such acceptance in the database and print the acceptance on the order admin (and maybe on the customer invoice as well). So, here’s a quick PHP snippet you can simply copy and paste in your child theme’s functions.php file in order to (1) save and (2) print the choice on the Single Order Admin page. Enjoy!
PHP Snippet: Save “Terms & Conditions” Customer Acceptance @ WooCommerce Checkout
/**
* @snippet Save "Terms and Conditions" @ Checkout - WooCommerce
* @how-to Get tutoraspire.com FREE
* @author Tutor Aspire
* @compatible WooCommerce 6
* @donate $9 https://tutoraspire.com
*/
// 1. Save T&C as Order Meta
add_action( 'woocommerce_checkout_update_order_meta', 'tutoraspire_save_terms_conditions_acceptance' );
function tutoraspire_save_terms_conditions_acceptance( $order_id ) {
if ( $_POST['terms-field'] ) update_post_meta( $order_id, '_terms_accepted', esc_attr( $_POST['terms-field'] ) );
}
// 2. Display T&C @ Single Order Page
add_action( 'woocommerce_admin_order_data_after_billing_address', 'tutoraspire_display_terms_conditions_acceptance' );
function tutoraspire_display_terms_conditions_acceptance( $order ) {
if ( get_post_meta( $order->get_id(), '_terms_accepted', true ) == 1 ) {
echo 'Terms & Conditions: accepted
';
} else echo 'Terms & Conditions: N/A
';
}