Avisos
Vaciar todo

[Resuelto] Casillas de verificación para clientes en WooCommerce  

 
Carmen
 Carmen
Estimable Member

Hola a todos. Tengo una web en pruebas en un subdominio "prueba.unifilomedia.net" Me gustaría saber cómo puedo añadir una casilla de verificación de "He leído y acepto la Política de Privacidad" en la página de "Mi cuenta" para el registro de clientes en WooCommerce. Gracias de antemano.

Un saludo 🙂

Citar
Respondido : 09/07/2020 12:37 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Carmen,

Para añadir una casilla adicional en el registro de woocoommerce prueba lo siguiente.

Primero asegúrate tienes creada tu pagina donde muestran las políticas y privacidad de tu sitio web, luego de esto ingresa al apartado Woocoommerce -> Avanzado y configura esta pagina como la de tus políticas.

Screenshot(358)

Una vez realices esto debes ingresar en tu cPanel -> Administrador de archivos -> public_html

Screenshot(358)

Una vez dentro ingresa a la carpeta donde tienes el sitio web y luego ubica el directorio wp-content/themes/tu_tema/function.php

Screenshot(358)

Edita el archivo y abajo del todo pegas el siguiente código.

/** Casilla adicional verificación, woocoommerce*/

//Agregar checkbox para terminos y condiciones
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&rsquo;ve read and accept the <a href="%s" target="_blank" class="woocommerce-terms-and-conditions-link">Terminos & Condiciones</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
}
}

// Validar el checkbox como requerido
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;
}

Guarda los cambios y comprueba si ya visualizas el checkbox de términos y condiciones para tu registro

PD: Recuerda mantener una copia de seguridad de  tu sitio web siempre que realices estos cambios de esta forma si se genera un error puedes restaurar tu sitio web.

-> https://www.webempresa.com/blog/copias-de-seguridad-desde-el-panel-de-hosting-cpanel.html

Un Saludo

ResponderCitar
Respondido : 09/07/2020 2:07 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Carmen
 Carmen
Estimable Member

@karen

Hola Karen. El problema es que al hacer esto me cambia las "Condiciones de Venta" por la "Política de Privacidad" y entonces en "Finalizar compra" el enlace de "Condiciones de Compra" va a "Política de Privacidad". En la página de "Mi cuenta" me sale la casilla, pero el resultado es un poco chapucero porque el enlace indica "Terminos & Condiciones" pero lleva a la "Política de Privacidad" y además sale en inglés. Te adjunto la captura. A ver qué puedo hacer.

Un saludo 🙂

CAPTURA REGISTRO

  

ResponderCitar
Respondido : 09/07/2020 7:59 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Carmen,

Disculpa si no logre comprender bien la consulta, entiendo que deseas modificar los textos para que indiquen política de privacidad.

Para esto prueba eliminar el código anterior y añadir el siguiente

/** Casilla adicional verificación, woocoommerce*/

//Agregar checkbox para terminos y condiciones
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( __( 'He leído y acepto la <a href="%s" target="_blank" class="woocommerce-terms-and-conditions-link">Política de Privacidad</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
}
}

// Validar el checkbox como requerido
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;
}

El resultado debe ser algo como esto

imagen

Comprueba si con esto logras modificar lo que necesitas.

Un Saludo

ResponderCitar
Respondido : 09/07/2020 8:17 pm

Cursos Gratuitos WordPress

Carmen
 Carmen
Estimable Member

@karen

Estimada Karen. No tengo nada que disculpar y sí mucho que agradecer. Discúlpame tú a mi, te estoy mareando con tanta casilla. Voy a probar lo que me dices. Muchísimas gracias otra vez.

Un saludo:)

ResponderCitar
Respondido : 10/07/2020 11:03 am
Carmen
 Carmen
Estimable Member

Hola Karen. A ver cómo te digo esto. A primera vista está todo bien, pero.... El enlace me lleva a la página de "Condiciones de Venta" (la función que utilizas es "add_terms_and_conditions_to_registration"). Habría que utilizar el equivalente para la "Política de Privacidad" ¿no? Gracias de antemano. 

Un saludo 🙂

ResponderCitar
Respondido : 10/07/2020 11:42 am

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Carmen.

sustituye el código por el siguiente:

//Agregar checkbox para terminos y condiciones
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( __( 'He leído y acepto la <a href="https://prueba.unifilomedia.net/politica-privacidad/" target="_blank" >Política de Privacidad</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
}
}

// Validar el checkbox como requerido
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;
}

 

Lo único que hemos realizado a sido indicarle la URL de la página 

<a href="https://prueba.unifilomedia.net/politica-privacidad/" target="_blank" >Política de Privacidad</a>

 

Un saludo

ResponderCitar
Respondido : 10/07/2020 12:55 pm
Carmen
 Carmen
Estimable Member

Hola Pepe. Nos estamos liando con las políticas y las casillas. No quiero una check box para "Terminos y Condiciones" en la página de registro. Quiero una check box para "Política de Privacidad" en la página de registro. Gracias de antemano. 

Un saludo 🙂

ResponderCitar
Respondido : 13/07/2020 12:39 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Carmen.

probaste a modificar el código como et indique ?

Cambiamos la URL para que enlace a la política de privacidad:

<a href="https://prueba.unifilomedia.net/politica-privacidad/" target="_blank" >Política de Privacidad</a>

El código es el mismo para uno que para otro, solo cambia el link del enlace.

 

un  saludo

ResponderCitar
Respondido : 13/07/2020 1:08 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Carmen,

Entiendo, el código que te suministro Pepe realiza el procedimiento que deseas

Te permite añadir la casilla para las políticas de privacidad que tengas en tu sitio web, el resultado al añadirlo será el siguiente

imagen

Si haces clic en el enlace de políticas de privacidad te lleva directamente a la pagina que tienes asignada con este fin.

Prueba agregarlos y nos comentas como ha ido todo.

Un Saludo

ResponderCitar
Respondido : 13/07/2020 1:17 pm

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

Carmen
 Carmen
Estimable Member

Hola. Disculpar. ¿Dónde tengo que modificar la url? Gracias de antemano

Un saludo 🙂

ResponderCitar
Respondido : 13/07/2020 2:26 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Carmen.

Solo tienes que eliminar el codigo que te pasó antes y sustituirlo por el que te indique.

El archivo es functions.php que se encuentra dentro de la carpeta de tu plantilla.

 

Si no tienes el código añadido, solo tienes que copiarlo y pegarlo en ese archivo.

 

Un saludo

 

ResponderCitar
Respondido : 13/07/2020 2:41 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Carmen
 Carmen
Estimable Member

Hola chicos. ¡Funciona perfectamente! Disculpar. Me había liado porque anteriormente coloqué un script que era para colocar la casilla de verificación de "He leído y acepto la "Política de Privacidad"" en la página de finalizar compra y ahí sí, la función hacía referencia a la Política de Privacidad y no hubo que cambiar nada. En este caso como la función es "add_terms_and_conditions_to_registration" pensé que os había liado yo. Pero ya lo entiendo. Realmente la función es la misma, lo único que importa son los parámetros que introduzcas. Perdonar que os de tanto la lata pero para mí es muy importante comprender bien lo que hago. Gracias otra vez.

Un saludo 🙂

ResponderCitar
Respondido : 13/07/2020 2:48 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Carmen,

Enhorabuena lograste modificarlo, no te preocupes siempre estamos encantados de poder ayudarte. 

Con esto podemos dar el tema como solucionado.

Escríbenos si tienes otras consultas.

Un Saludo  😊 

ResponderCitar
Respondido : 13/07/2020 2:55 pm

Cursos Gratuitos WordPress