El formulario de registro de WordPress, por defecto, no incluye un campo para la aceptación de la política de privacidad y el consentimiento del uso de los datos personales necesarios del usuario registrado.
Afortunadamente, es relativamente fácil agregar una casilla de verificación en el formulario de registro predeterminado de WordPress.
Adaptar el formulario de registro de WordPress al RGPD
Primero creamos la casilla de verificación usando la acción register_form (reemplaza PAGE_ID_PRIVACIDAD con la ID de tu página de privacidad y las cadenas TU-TEXT-DOMAIN con el dominio de texto de tu plugin o tema):
function jrb_registro_politica_privacidad_checkbox() {
$politica_privacidad_text = esc_html__( 'Política de Privacidad', 'TU-TEXT-DOMAIN' );
$politica_privacidad_url = esc_url( get_permalink( PAGE_ID_PRIVACIDAD ) );
$politica_privacidad_link_html = sprintf ( '<a href="%s" target="_blank">%s</a>', $politica_privacidad_url, $politica_privacidad_text );
$text = sprintf( esc_html__( 'He leído y acepto la %1$s.', 'TU_TEXT_DOMAIN' ), $politica_privacidad_link_html );
$field = <<<EOT
<label for="aceptacion_politica_privacidad">
<input type="checkbox" name="aceptacion_politica_privacidad" class="checkbox" required />
${text}
</label>
<br><br>
EOT;
echo $field;
}
add_action( 'register_form', 'jrb_registro_politica_privacidad_checkbox', 1, 10 );
Lenguaje del código: PHP (php)
Después agregamos la verificación de validación a través del filtro registration_errors (recuerda reemplazar las cadenas TU-TEXT-DOMAIN con el dominio de texto de tu plugin o tema):
function jrb_validacion_politica_privacidad( $errors, $sanitized_user_login, $user_email ) {
if ( ! isset( $_POST['politica_privacidad_terms_of_service'] ) ) {
$errors->add( 'empty_politica_privacidad_terms', '<strong>' . esc_html__( 'Error', 'TU-TEXT-DOMAIN' ) . '</strong>: ' . esc_html__( 'Por favor, acepta la Política de Privacidad y los Términos y Condiciones.', 'TU-TEXT-DOMAIN' ) );
}
return $errors;
}
add_filter( 'registration_errors', 'jrb_validacion_politica_privacidad', 10, 3 );
Lenguaje del código: PHP (php)
Con esto ya deberías tener una casilla de verificación de la política de privacidad en el formulario de registro de WordPress.
Si has cambiado el estilo de dicho formulario, adaptándolo al de tu sitio web, puedes adaptarla con CSS, añadiendo una clase al enlace o el código inline, por ejemplo.
Y, si el formulario de registro de WordPress debe incluir algún campo de verificación más, es cuestión de adaptar las funciones a tus necesidades.
¿Dónde pongo este fragmento de código?
Hay varias formas de agregar un snippet a tu instalación de WordPress:
- En un plugin de funcionalidades personalizado.
- En el archivo functions.php de tu tema hijo.
- A través de un plugin de gestión de fragmentos de código como Code Snippets o Advanced Scripts.
Si necesitas ayuda para ello, no dudes en ponerte en contacto conmigo.