Muchas veces para añadir un simple campo en la página de finalizar compra de Woocommerce instalamos un plugin muy pesado, pero la verdad es que con un simple código o snippet lo podemos conseguir fácilmente, en este caso vamos a ver cómo añadir un campo de checkbox o de caja.
Recuerda que tienes más informacion sobre cómo implementar estos códigos en este enlace.
Índice
Cuándo es bueno añadir este campo al checkout
Cada vez que añadimos más opciones en la página de finalizar compra aumenta el tiempo de completarlo y baja la conversión. Así que si añadimos más campos tiene que ser porque te obligan las leyes a insertarlo, por que se necesita para el envío o bien es una ventaja competitiva o valor añadido.
Snippet para la checkbox
Añade este código a tu plugin de funcionalidades o bien al archivo functions.php:
/**
* Añadir un checkbox al final de la página de finalizar compra
**/
add_action('woocommerce_after_order_notes', 'my_custom_checkout_field');
function my_custom_checkout_field( $checkout ) {
woocommerce_form_field( 'my_checkbox', array(
'type' => 'checkbox',
'class' => array('input-checkbox'),
'label' => __('Quiero que venga envuelto para regalar'), // Pon el mensaje despues de la caja o checkbox
'required' => false, // Pon true si quieres que sea obligatorio y false para opcional
), $checkout->get_value( 'my_checkbox' ));
}
/**
* Acciones extras
**/
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');
function my_custom_checkout_field_process() {
global $woocommerce;
// Menaje de error si pusiste true.
if (!$_POST['my_checkbox'])
$woocommerce->add_error( __('Por favor completa el campo de...') ); // Cambia aquí el mensaje
}
/**
* Campo personalizado para el checkout
**/
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, 'Enviar para Regalo', esc_attr($_POST['my_checkbox'])); // Cambia aquí el nombre del campo
}
En los comentarios del código podréis ver cómo cambiar los textos y hacerlo obligatorio o no. Por último os dejo una imagen de en dónde saldría en el pedido si han marcado el check o no:

Si es 1 es que lo han marcado, y si es 0 es que no. Por último recordarte que te pases por mis servicios a ver si te puedo ayudar de manera profesional con el negocio de tu tienda.
Deja una respuesta