Hola,
En mi tienda online usando Woocommerce con Storefront tengo un problema en el que no aparece el checkbox que hay que marcar para aceptar la política de privacidad en la página de finalizar compra. En principio debe aparecer por si solo al definir una página de política de privacidad, pero me aparece el texto y no el checkbox. Lo tengo medio arreglado con un plugin adicional, pero no es lo correcto y quisiera repararlo.
La página es la de finalizar compra https://cmwear.eu/finalizar-compra/ , aquí si tienes algún producto en el carrito debería de aparecer antes del boton "Realizar el pedido" dos checkbox; uno para aceptar los términos y condiciones y un segundo la política de privacidad.
Actualmente aparecen los dos, pero es un apaño que realice, porque instale un plugin llamado "Woo Additional Term" que sirve para añadir los términos y condiciones y ese lo apunte a la política de privacidad. La que debería de ser de privacidad es el texto que hay entre los dos checkbox y la forma de pago que pone "Tus datos personales se utilizarán para procesar tu pedido, mejorar tu experiencia en esta web y otros propósitos descritos en nuestra política de privacidad." y allí debería de haber un checkbox.
Agradecería su ayuda para solventar el problema.
Adicionalmente, conserva el texto de Woocomerce -> Cuentas y Privacidad.
Si algún conflicto o problema surgiera, por favor, indícalo para poder ayudarte y solucionar lo que resulte.
Saludos =)
Hola Bulmaro,
He realizado las instrucciones tal como me indicas y en un principio me bloqueo la IP, pero después de ejecutar el asistente virtual Stephan de Webempresa lo he resuelto. Una vez que he vuelto a acceder a la venta checkout, sigue sin aparecer el checkbox. Lo voy a dejar apañado como lo tenia añadiendo el Woo Additional Terms pero apuntando esto a la política de privacidad.
Lo que si me surge la duda de ¿donde almacena el registro de que un cliente marca la casilla? Me refiero a ¿donde debo ir para recuperar y demostrar que alguien marco la casilla?
Un saludo y gracias.
Hola de nuevo Bulmaro,
Lo he vuelto a intentar de nuevo y ya funciona correctamente. ¡Muchísimas gracias! Ahora me aparecen 3 checkbox, pero posiblemente sea porque el código añado los otros dos. He eliminado en WooCoommerce >Avanzado los Términos y condiciones y así desaparece uno de los checkbox.
Si teniendo la duda de donde se almacena el registro de los usuarios que pinchan en los checkbox.
Un saludo.
Hola Cándido,
Desconozco cuál fue el problema que tuviste al implementar el código y cómo lo hiciste, nosotros lo probamos y nos funcionó, sería bueno que nos compartieras el proceso que seguiste para implementarlo y los errores obtenidos para entonces saber cómo solucionarlo.
En principio, se entiende que al procesar la compra se aceptaron las políticas, términos y condiciones de la tienda, ya que de no aceptarse entonces la compra no puede ser realizada.
Saludos
Hola Bulmaro,
No se cual sería el error cometido, pero ya esta solucionado. Con respecto al registro si que me interesa saber si hay forma de hacerlo, porque según me comenta mi asesor de Política de Privacidad me indica que siempre tenemos que demostrar que alguien acepto las condiciones de venta y la política de privacidad. Entiendo que es lógico pensar que si no aceptas no te deja realizar la compra, pero ante una denuncia tienes que demostrar que ese usuario acepto clickeando en las casillas.
Un saludo y de nuevo muchas gracias.
Entiendo el punto Cándido, sin embargo, como te mencioné, a nivel servidor no se permitirá que el cliente realice la compra si no acepta las políticas, términos y condiciones. Es decir, a nivel servidor cuando se proceso el formulario se valida que dichas casillas estén marcadas, si no lo están se devuelve algo así "Error, es necesario aceptar las políticas, términos y condiciones", esto al menos en el código que mi compañero @argenis y yo te proporcionamos, en el caso de que estés usando el plugin consúltalo con el desarrollador. Pero vaya si utilizas nuestro código, sí que hay forma de validar a través de una consulta en la base de datos el valor seleccionado por el cliente, pero para esto es necesario implementar mas código fuente, lo cual nos llevaría a invertirle tiempo y esfuerzo, además de las repercusiones legales que podría tener si algo falla y burla las validaciones que hemos implementado considero que lo mas indicado es que lo consultes con alguno de nuestros colaboradores -> directorio-colaboradores, o si lo prefieres, puedes utilizarlo bajo tu propia responsabilidad, deslindando al equipo técnico y a Webempresa de cualquier responsabilidad.
Saludos.
Hola de nuevo Bulmaro,
Con el código que me diste resolvió el problema de que aparece los dos checkbox, pero cuando me pongo a realizar pruebas de compras resulta que aunque pinche en el checkbox de Terminos y Condiciones siempre me pone el mensaje de marcarlo. Es como si no detecta que esta marcado. El de Política de privacidad si esta marcado. ¿Puede haber un pequeño error en el código?
Hola Candido,
¿Puedes enviarnos una captura de la sección del código que añadiste a tu sitio web? de esta forma podremos verificar con mayor detalle que puede estar ocurriendo.
Un Saludo
Hola Karen Rios,
Adjunto imagen del código introducido en el plugin "Fragmentos de código".
Candido
Hola candido.
¿donde almacena el registro de que un cliente marca la casilla?
No hay registro, simplemente o deja seguir adelante o no, si el cliente terminó de realizar el registro esa es la prueba que lo acepto
.- Elimina el bloque de código de la condiciones y lo sustituyes por el siguiente:
// Add term and conditions check box on registration form
add_action( 'woocommerce_register_form', 'add_terms_and_conditions_to_registration', 20 );
function add_terms_and_conditions_to_registration() {
if ( wc_get_page_id( 'terms' ) > 0 && is_account_page() ) {
?>
<p class="form-row terms wc-terms-and-conditions">
<label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox">
<input type="checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name="terms" <?php checked( apply_filters( 'woocommerce_terms_is_checked_default', isset( $_POST['terms'] ) ), true ); ?> id="terms" /> <span><?php printf( __( 'I’ve read and accept the <a href="%s" target="_blank" class="woocommerce-terms-and-conditions-link">terms & conditions</a>', 'woocommerce' ), esc_url( wc_get_page_permalink( 'terms' ) ) ); ?></span> <span class="required">*</span>
</label>
<input type="hidden" name="terms-field" value="1" />
</p>
<?php
}
}
// Validate required term and conditions check box
add_action( 'woocommerce_register_post', 'terms_and_conditions_validation', 20, 3 );
function terms_and_conditions_validation( $username, $email, $validation_errors ) {
if ( ! isset( $_POST['terms'] ) )
$validation_errors->add( 'terms_error', __( 'Terms and condition are not checked!', 'woocommerce' ) );
return $validation_errors;
}
Revisa si con esto se muestra bien.
Un saludo
Hola Pepe,
Gracias por tu respuesta. Me vas a perdonar pero desconozco el tratamiento de código. La foto adjunto anterior es código que me paso vuestro compañero Bulmaro para integrar dentro del plugin "Fragmentos de código". Me aporto una solución que era que aparecieran los 2 checkbox en la ventana de "Finalizar compra". Con ese código se corrigió, pero ahora me doy cuenta que cuando quiero pasar de ventana me da el error de aceptar los Términos y Condiciones, como si no detecta que se marca la casilla.
¿Cuando me dices de eliminar las condiciones - borro todo lo que me dio Bulmaro, es decir, desactivo ese código?
Si desactivo el código de Bulmaro ya no aparecen los checkbox. Y tu código no llega a activarse, da un error en "Fragmentos de código". Por lo tanto lo he vuelto a dejar como estaba. El problema que tengo es que en el checkout la página no registra que el usuario marca la casilla de terminos y condiciones y devuelve el error de "Por favor acepte nuestros términos y condiciones de venta."
Os estoy muy agradecido con vuestra ayuda.
Cándido
Hola Cándido,
Por favor, prueba nuevamente reemplazando el código que te proporcioné por el siguiente que te adjunto.
Cuéntanos cómo te va, por favor.
Hola Bulmaro,
Ya he introducido el código y esta vez ya funciona. He podido realizar un par de compras de prueba y funcionan a la perfección. De nuevo muchas gracias.
Candido
Hola Cándido,
Excelente, me alegra que pudieras realizar las compras implementando ambos checkbox, tal como lo solicitaste.
Muchas gracias a ti por tu confianza y preferencia en Webempresa, una disculpa de antemano por el error cometido en el código primero.
Saludos