Checkbox de aceptación, añádelo en los comentarios de WordPress
Checkbox de aceptación, añádelo en los comentarios de WordPress

Una vez más aquí. En esta ocasión vengo para dejar un pequeño articulo por algo que me dí cuenta que este blog no cumplía y que debía de  corregir. Se trata de un checkbox de aceptación en los comentarios de WordPress. Este es uno de los requisitos principales de la RGPD, obligatoria desde el 25 de mayo de 2018, con el que buscamos obtener el consentimiento expreso y consciente de los usuarios sobre los datos que se guardan en la web sobre ellos.

Uno de los elementos de una web que guarda información de los usuarios son los comentarios, y si non utilizas plugins para los comentarios, como ocurría en esta página, posiblemente no cumplas con este requisito de la RGPD. Aun que alguna gente me dijo que si desactivas en los ajustes las casillas de solicitar correo electrónico y nombre, esto se solucionaría. Pero en realidad WordPress va a seguir almacenando la IP de los usuarios cuando dejen un comentario. Lo cual es un problema.

logo RGPD

Para evitar que esto sea un problema, vamos a tener que añadir añadir un checkbox de aceptación en la que el usuario nos permita expresamente almacenar la información que guardes sobre él. Además de proporcionar un enlace bien claro a la política de privacidad donde tendremos que informarles de:

  • Quién guarda sus datos.
  • Qué datos se almacenan.
  • Cuánto tiempo vamos a almacenar los datos.
  • Si los datos se venderán y si se almacenarán encriptados.
  • Con quién se comparten los datos.
  • Dónde y cómo borrar los datos de usuario.
  • Dónde y cómo solicitar los datos.

Añade un checkbox de aceptación para la política de privacidad en los comentarios de WordPress con un código

Esto que vamos a ver, también se puede hacer utilizando algunos plugins que andan por ahí, pero si eres de los que prefieres añadir un sencillo código para no sobrecargar de plugins tu instalación, a continuación dejo una serie de filtros que añaden la casilla o checkbox de aceptación expresa a los comentarios de WordPress:

/** Aceptación después del formulario de comentarios **/
add_filter( 'comment_form_field_comment', 'mi_campo_de_privacidad_en_comentarios' );
function mi_campo_de_privacidad_en_comentarios( $comment_field ) {
    return $comment_field.'<label class="pprivacy"><input type="checkbox" name="privacy" value="privacy-key" class="privacyBox" aria-required="true">&nbsp;&nbsp;Acepto la <a target="blank" href="https://tu-url-a-la-página-de-privacidad/">política de privacidad</a></label>';
}
//validación por javascript
add_action('wp_footer','validate_privacy_comment_javascript');
function validate_privacy_comment_javascript(){
 if (! is_admin() && is_single() && comments_open() ){
        wp_enqueue_script('jquery');
        ?>
        <script type="text/javascript">
        jQuery(document).ready(function($){
            $("#submit").click(function(e)){
                if (!$('.privacyBox').prop('checked')){
                    e.preventDefault();
                    alert('Debes aceptar nuestra política de privacidad <p><a href="javascript:history.back()">' . __('&laquo; Volver') . '</a></p>');
                    return false;
                }
            }
        });
        </script>
        <?php
}
}
 
//sin validación js
add_filter( 'preprocess_comment', 'verify_comment_privacy' );
function verify_comment_privacy( $commentdata ) {
if ( ! isset( $_POST['privacy'] ) && ! is_admin() )
wp_die( __( 'Error: Debes confirmar que estás de acuerdo con nuestra política de privacidad<p><a href="javascript:history.back()">' . __('&laquo; Volver') . '</a></p>' ) );
 
    return $commentdata;
}
 
//guarda el campo como comment meta
function save_comment_meta_data ( $post_id ) {
$privacy_comment = $_POST['privacy'];
if ( $privacy_comment ) {
add_comment_meta( $post_id, 'privacy', $privacy_comment, true );
}}
 
add_action( 'comment_post', 'save_comment_meta_data', 1 );
 
// Mostramos el valor del metadato en la página de administración de comentarios
if ( is_admin() ) {
function show_commeta() {
   echo get_comment_text(), '<br><br><strong>', get_comment_meta(get_comment_ID(), 'privacy',1), '<strong>';
   }
add_action('comment_text', 'show_commeta');
}

Añade el código anterior al final de tu archivo functions.php de tu tema activo o en tu plugin de funciones (si es que lo tienes), recordando cambiar la URL de ejemplo de la política de privacidad por la tuya.

Una vez guardados los cambios, lo que se obtiene, dependiendo del tema que utilicemos debería ser algo como lo siguiente:

Política de privacidad - Checkbox de aceptación

El código solicita aceptar la privacidad a todos los usuarios, conectados o no. Si no se acepta la política marcando el chekbox de aceptación, los usuarios recibirán un error en pantalla.

Además, el campo se guarda en la base de datos, para que conste que han aceptado. Con cualquiera de estos métodos solicitas el consentimiento expreso de tus usuarios para almacenar sus datos, les informas de tu política de privacidad en primera y segunda capa (en el enlace a tu política completa), y se guarda el consentimiento en la base de datos, así que puedes dar por cumplida esta parte de la RGPD o GDPR. Quiero recalcar que este no es el único punto que debemos cumplir.







¿Qué te ha parecido este post?

¡Haz clic en una estrella para calificarla!

Puntuación media 5 / 5. Recuento de votos: 1

¡No hay votos hasta ahora! Sé el primero en calificar esta publicación.

No te pierdas otros artículos ...

¡Síguenos en las redes sociales!

¡Lamentamos que esta publicación no te haya sido útil!

¡Permítanos mejorar esta publicación!

¿Cuéntanos cómo podemos mejorar esta publicación?

Resumen
Checkbox de aceptación, añádelo en los comentarios de Wordpress
Nombre
Checkbox de aceptación, añádelo en los comentarios de Wordpress
Descripción
Con el código que dejo aquí, vamos a poder añadir un checkbox de aceptación en los comentarios de Wordpress para cumplir uno de los puntos de la RGPD.
Autor
entreunosyceros
Nombre del editor
entreunosyceros
Logo del editor

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.