Añadir un campo de checkbox en el checkout

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.

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:

añadir campo personalizado al checkout

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Especialista en Comercio electrónico con Woocommerce. Te ayudo a crear, gestionar y publicitar tu Ecommerce en función de tu sector y público objetivo. Puedes encontrarme en Diegol.top

¿Necesitas ayuda con este tutorial?

Mándame un correo y te resuelvo todas las dudas!


Ver servicios Contactar

Interacciones del lector

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *