Avisos
Vaciar todo

Hosting WordPress 70% dto Dominios promo

Colocar checkbox para recibir facturas en papel en la página de "Finalizar compra" en WooCommerce  

 
Carmen
 Carmen
Estimable Member

Hola, por motivos legales tenemos que ofrecer al cliente la posibilidad de recibir sus facturas en papel. Me gustaría añadir una checkbox en la página de "Finalizar compra" en WooComerce "Deseo recibir mi factura en papel". Esto tendría que verse reflejado de alguna forma en el pedido del cliente en cuestión para actuar en consecuencia y saber qué facturas tengo que enviar por correo postal. ¿Cómo puedo hacerlo? Gracias de antemano.

Un saludo virtual 😀 

Contenido solo visible a usuarios registrados

Citar
Respondido : 26/11/2020 11:06 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Carmen.

Añade lo siguiente al archivo functions.php o si utilizas algún plugin paar añadir código lo añades en el plugin:

 

/**
* 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' => __('Deseo recibir mi factura en papel'), // 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, 'Deseo recibir mi factura en papel', esc_attr($_POST['my_checkbox'])); // Cambia aquí el nombre del campo
}

 

Un saludo

ResponderCitar
Respondido : 26/11/2020 11:38 am

Carmen
 Carmen
Estimable Member

@pepesoler

Parece que queda muy bien Pepe. Gracias.

Un abrazo virtual 😀 

ResponderCitar
Respondido : 26/11/2020 11:51 am
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Carmen,

Enhorabuena ha funcionado como deseas, siempre encantados de poder ayudarte.

Coméntanos si con esto podemos dar el tema como solucionado

Un Saludo 😊 

ResponderCitar
Respondido : 26/11/2020 11:56 am

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación