Cómo cumplir el RGPD en los comentarios de WordPress

Actualizado el 13-04-2020

Uno de los requisitos principales de la RGPD, obligatoria desde el 25 de mayo de 2018, es obtener el consentimiento expreso y consciente de los usuarios de los datos que guardarás de ellos en tu web.

Y uno de los elementos de tu web que guarda información de los usuarios son los comentarios.

Podrías pensar que te lo puedes ahorrar si, en los ajustes de comentarios, desmarcas la casilla de solicitar correo electrónico y nombre.

Pero no, WordPress seguirá almacenando la IP, así que el truco no te servirá de nada.

Lo que debes hacer es añadir una casilla de selección en la que el usuario te permita expresamente almacenar la información que guardes, y con un enlace bien claro a la política de privacidad donde le informes de:

  • Quién es el albacea de sus datos
  • Qué datos se almacenan
  • Con quién se comparten
  • Cuánto tiempo los almacenas
  • Que los datos viajarán y se almacenarán encriptados
  • Dónde y cómo borrar sus datos de usuario.
  • Dónde y cómo solicitar sus datos.

Pero, además, también debes facilitar la primera capa de información (resumida) de lo anterior.

¿La añadimos?

Añadir casilla de aceptación de la política de privacidad en los comentarios con un código

Si eres de los que prefieres añadir un sencillo código aquí te dejo una serie de filtros que añaden la casilla de aceptación expresa:

/** 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://ayudawp.com/muylegal/">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 del tema activo, recordando cambiar la URL de ejemplo de la política de privacidad por la tuya.

Lo que obtienes (dependiendo del tema, por cosas del HTML) es esto:

El código solicita aceptar la privacidad a todos los usuarios, conectados o no, y si no aceptan les muestra un error.

Además, el campo se guarda en tu base de datos, para que conste que han aceptado.

Añadir la primera capa de información de la política de privacidad en los comentarios con un código

Ahora nos toca añadir la información requerida por el RGPD sobre la política de protección de datos. Que añadiremos en nuestro archivo functions.php así:

/** Primera capa privacidad en comentarios **/
$acceptance = '<p class="comment-reply-title comentarios">Información sobre protección de datos</p>
<p class="comment-subscription-form"><ul><li>Responsable: Fernando Tellado</li>
<li>Fin del tratamiento: Controlar el spam, gestión de comentarios</li>
<li>Legitimación: Tu consentimiento</li>
<li>Comunicación de los datos: No se comunicarán los datos a terceros salvo por  obligación legal.</li>
<li>Derechos: Acceso, rectificación, portabilidad, olvido.</li>
<li>Contacto: <a href="mailto:[email protected]" title="Contacta">[email protected]</a>.</li>
<li>Información adicional: Más información en <a href="https://ayudawp.com/muylegal/" title="Política de Privacidad">nuestra política de privacidad</a>.</li></ul></p>';
function ft_acceptance_comments( $form ) {
	global $acceptance;
	return $form . $acceptance;
}
	add_action( 'comment_form_field_comment', 'ft_acceptance_comments' );

Al igual que con el código anterior, revísalo para sustituir los datos de ejemplo por los tuyos.

Si lo prefieres, aquí lo tienes con el texto de primera capa en modo de tabla:

/** Primera capa privacidad en comentarios **/
$acceptance = '<table class=" aligncenter" width="504">
<tbody>
<tr>
<td><strong><em>RESPONSABLE</em></strong></td>
<td>Tu nombre</td>
</tr>
<tr>
<td><strong><em>FINALIDAD</em></strong></td>
<td>Gestionar los comentarios.</td>
</tr>
<tr>
<td><strong><em>LEGITIMACIÓN</em></strong></td>
<td>Consentimiento del interesado.</td>
</tr>
<tr>
<td><strong><em>DESTINARIOS</em></strong></td>
<td>Empresas proveedoras nacionales e internaciones y encargados del tratamiento acogidos a <em>Privacy Shield</em>.</td>
</tr>
<tr>
<td><strong><em>DERECHOS</em></strong></td>
<td>Acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la información adicional.</td>
</tr>
<tr>
<td><strong><em>INFORMACIÓN ADICIONAL</em></strong></td>
<td>Puedes consultar la información adicional y detallada sobre protección de datos <a href="https://tusitio.com/wp-content/uploads/Aviso-legal.pdf">en este enlace</a>.</td>
</tr>
</tbody>
</table>';
function ft_acceptance_comments( $form ) {
	global $acceptance;
	
	return $form . $acceptance;
}
	add_action( 'comment_form_field_comment', 'ft_acceptance_comments' );

Recuerda de nuevo cambiar los textos de ejemplo por los tuyos.

Añadir casilla de aceptación y primera capa de información con un código (todo junto)

¿Te han gustado? Pues los ponemos los dos juntitos y ya tendrás el cumplimiento completo del RGPD en comentarios:

/** 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.'<p class="pprivacy"><input type="checkbox" name="privacy" value="privacy-key" class="privacyBox" aria-req="true">&nbsp;&nbsp;Acepto la <a target="blank" href="https://ayudawp.com/muylegal/">política de privacidad</a><p>';
}
//validación por javascript
add_action('wp_footer','validate_privacy_comment_javascript');
function validate_privacy_comment_javascript(){
    if (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 marcando la casilla ....');
                    return false;
                }
            }
        });
        </script>
        <?php
    }
}

//sin validación js
add_filter( 'preprocess_comment', 'verify_comment_privacy' );
function verify_comment_privacy( $commentdata ) {
    if ( ! isset( $_POST['privacy'] ) )
        wp_die( __( 'Error: Debes aceptar nuestra política de privacidad marcando la casilla ....' ) );

    return $commentdata;
}

//guarda el campo como comment meta
add_action( 'comment_post', 'save_comment_privacy' );
function save_comment_privacy( $comment_id ) {
    add_comment_meta( $comment_id, 'privacy', $_POST[ 'privacy' ] );
}
/** Primera capa privacidad en comentarios **/
function ft_acceptance_comments( $form ) {
$acceptance = '
<p class="comment-reply-title comentarios">Información sobre protección de datos</p>
<p class="comment-subscription-form"><ul><li>Responsable: Fernando Tellado</li>
<li>Fin del tratamiento: Controlar el spam, gestión de comentarios</li>
<li>Legitimación: Tu consentimiento</li>
<li>Comunicación de los datos: No se comunicarán los datos a terceros salvo por  obligación legal.</li>
<li>Derechos: Acceso, rectificación, portabilidad, olvido.</li>
<li>Contacto: <a href="mailto:[email protected]" title="Contacta">[email protected]</a>.</li>
<li>Información adicional: Más información en <a href="https://ayudawp.com/muylegal" title="Política de Privacidad">nuestra política de privacidad</a>.</li></ul></p>';
';
return $form . $acceptance;
}
add_action( 'comment_form_field_comment', 'ft_acceptance_comments' );

Y ya tendrás esto así:

Añadir casilla de aceptación de la política de privacidad en los comentarios con plugins

Si prefieres añadir la casilla de aceptación con un plugin, hay un par de ellos que cumplen con todo.

Uno de ellos, muy sencillo de usar, se llama WP Comment Policy Checkbox, actualizado recientemente a petición mía, y solo tienes que instalarlo, activarlo, decirle en Ajustes > Comentarios cual es tu página de política de privacidad, el texto básico de información y ya está.

La casilla y el texto aparecerán al final del formulario de comentarios, y antes del botón de enviar.

Otra buena opción es el plugin GDPR Comments.

No solo te permite añadir la casilla de aceptación y el texto de información sino que también puedes anonimizar las IPs de los nuevos comentarios e incluso de los ya almacenados previamente.

Encontrarás los ajustes en Comentarios > Cumplimiento del RGPD.

¿Hará algo WordPress para ayudarnos a cumplir la RGPD?

Pues parece que también es posible, de hecho se ha creado un grupo específico para trabajar en los cambios que serían necesarios en el propio núcleo de WordPress para adecuarlo a la RGPD.

Y una de las propuestas realizadas es incluir nativamente la casilla de aceptación en los comentarios, e incluso se podrían crear en la instalación de WordPress páginas para la política de privacidad.

Puedes seguir el avance del grupo en los artículos del blog Make WordPress con el hashtag gdpr-compliance.


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.

Eso sí, hay más cosas que cumplir, que iremos viendo en el archivo de información de todo lo que debes saber para cumplir la RGPD, que iré actualizando poco a poco con más guías actualizadas.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(33 votos, promedio: 4.8)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

115 comentarios en “Cómo cumplir el RGPD en los comentarios de WordPress”

  1. (Casi) Anónimo

    En el enlace, la url es incorrecta… Te has comido una d, Fernando.
    ‘ayuawp. com’, ‘ayuda’ y no ‘ayua’ como está en el enlace, que no funciona por ese motivo. El enlace se encuentra en el último párrafo:
    Eso sí, hay más cosas que cumplir, que iremos viendo en
    (el archivo de información de todo lo que debes saber para cumplir la RGPD)
    , que iré actualizando poco a poco con más guías actualizadas.

  2. Hola Fernando, pues a mi no me sale, no se porque pero sigo los pasos que dices, pego el codigo este en el functions pero no muestra nada

  3. ¿Y por ejemplo si usas disquis? No hay que poner nada, no? POrque es Disqus la que almacena.

    Otra pregunta ya que estamos… ¿Conocéis algun modo de hacer una encuesta a los usuarios para hacerle una serie de preguntas sobre la web? ¿Algún plugin o servicio externo y que permita cientos de visitas?

    1. Pues sí, hay que ponerlo también con Disqus, y se les ha pedido ya que lo incorporen. También la ley obliga a que informes si son terceros quienes almacenan tus datos, y deben aceptarlo. Una opción sería añadir la casilla antes del formulario pero de momento Disqus deja enviarlos aunque la pongas. Tienen que añadir ellos la opción.

      Para encuestas puedes usar (yo es el que uso) un formulario de Google

  4. Hola, os funciona bien? porque yo le pongo el codigo este y luego todos los comentaros se me registran como anonimo, no me refleja ni el nombre ni el correo en el backend, y una vez que introduzco un comentario me redirecciona a localhost.

  5. A ver quien me puede ayudar. Al instalar este código en el archivo functions.php del tema activo (tema hijo de Divi) no funciona el forzar la activación de la casilla osea que aunque no se active, se puede hacer el comentario ¿Cómo puedo cambiarlo?

    Además, me esta dando este mensaje al publicar algún comentario marque o no la casilla de verificación:
    Warning: call_user_func_array() expects parameter 1 to be a
    valid callback, function ‘verify_comment_privacy’ not found or invalid
    function name in /home/microtie/addons/comerciallinas.com/html/wp-includes/class-wp-hook.php on line 286

    Comentario duplicado: ¡parece que ya había sido enviado antes!

    Os pongo una dirección de la web para que lo comprobéis.

    https://www.comerciallinas.com/que-son-las-laminas-asfalticas-auto-protegidas/

      1. Aparentemente si. Y lo de Disqus no se yo… casi preferible dejar los comentarios en el propio servidor y decir que nos los vas a utilizar para ceder a terceros ni actividades diversas antes que ceder los comentarios a servicios terceros y que si un dia la lian capaces de decir que tu tambien tienes culpa indirecta.

        De todas formas es la polla, que traten de controlar a quien maneja un nivel de comentarios brutal me parece bien, pero meter en berenjenales a webs que manejan pocos, pues es excesivo totalmente.

        Al final quieren meter en cintura a los grandes y como a esos al final nunca les pueden hacer nada acaban jodiendo al pequeño de una forma o de otra, y ya no hablo de webs personales no comerciales y sin ingresos.

  6. Hola, acabo de instalar el plugin que recomiendas primero y no me aparece ninguna casilla al final de los comentarios. puede que solo funcione para los post que se publiquen después de instalar este plugin?. Muchas gracias

  7. A mi me ocurre lo mismo al insertar el código publicado en el post, no funciona lamentablemente y he tenido que instalar al final el plugin WP Comment Policy Checkbox, que está muy bien pero si enviara la advertencia en la sin cambiar de página, sería genial.

    1. Si yo he instalado WP Comment Policy Checkbox el problema ahora es que a mi, no me deja responder a los comentarios ya que me dice que no he aceptado la política de cookies. Si no me logeo en la web no puedo entrar para instalar el plugin y al hacerlo, ya no me aparece el formulario de aceptación, por lo que tengo que dehabilitar el plugin para responder. ¿A ti te pasa lo mismo?

  8. Hola Fernando.

    Genial aporte, pero como veo que muchos comentan diciendo que no les funciona, os digo donde esta el fallo.

    En la parte de código:
    add_filter( ‘preprocess_comment’, ‘verify_comment_privacy’ );
    function verify_comment_meta_data( $commentdata ) {
    if ( ! isset( $_POST[‘privacy’] ) )
    wp_die( __( ‘Error: Debes aceptar nuestra política de privacidad marcando la casilla ….’ ) );

    return $commentdata;
    }

    El «filtro» no esta llamando a la «función».

    Cambiar
    function verify_comment_meta_data( $commentdata ) {
    por
    function verify_comment_privacy( $commentdata ) {

    Y funcionará.

    Un abrazo.

    1. Jose Rodríguez M

      Ojo, acabo de ver que no se estaba guardando el valor del checkbox en la tabla como metadato.

      Para solucionarlo hay que hacer lo mismo que comentas pero con la función de abajo:

      Cambiar:

      function save_comment_meta_data( $comment_id ) {

      Por:

      function save_comment_privacy( $comment_id ) {

      Un Saludo !

    2. Hola que tal;
      al invocar al WP_die() nos lleva a una página que solamente pone un texto y no hay ningún botón para volver atrás, por lo que muchos usuarios directamente cierran la ventana y se salen de nuestra web.
      ¿Como se podria poner el típico botón de volver atrás en esta ventana de aviso que sale?
      Muchas gracias por vuestra ayuda.

  9. Jose Rodríguez M

    Con tu permiso Fernando, ¿qué consideras que se debería hacer con los comentarios anteriores a la entrada del RGPD? es prácticamente imposible obtener su consentimiento, y si hay que volver a obtener el de los suscriptores existentes se entiende que en este caso también… muy complicado todo… ¿borrarlos y perder ese contenido?

    1. A este respecto hay que disponibilizar un modo para que los usuarios puedan pedir ver, anonimizar o borrar sus comentarios, todos o en parte. Lo puedes incluir en tu política de privacidad o aparte.

  10. Jose Rodríguez M

    Hola de nuevo, he estado revisando la tabla ‘wp_commentmeta’ y no veo que se haya agregado el value del checkbox.

    Por otro lado, el código se podría completar agregando en la página de error un enlace para volver atrás cuando falta por rellenar algún campo o no se marca la casilla (iba a ponerlo pero no se puede agregar bien.

    Un saludo !

    1. Hola Jose,
      ¿has podido solucionar esto de poner un enlace para volver atrás en la página de error?
      Es que muchos de mis usuarios al no ver nada en esta pantalla, directamente cierran la pestaña, con lo cual se van de mi web.
      ¿cómo lo podríamos solucionar?
      Gracias y saludos

  11. Buenos días! Fernando. Una pregunta de un novato, que no es wesmaster. Indicas que los datos se guardan en una base de datos. Mi pregunta es: ¿Donde se guarda la base de datos. En el hosting o en el propio Wordepress? Y si me permites molestarme un poco más. ¿Donde se encuentra esa base de datos?. Gracias y perdón por molestarte.
    Cordiales saludos desde cádiz.
    Juan Jose Sánchez Muñoz

    1. WordPress se compone de ficheros (PHP, CSS principalmente) que se conectan a una base de datos MySQL, donde se guardan todos los contenidos y configuraciones. En esa misma base de datos se guarda el registro de que el usuario X ha aceptado la política. El WordPress no alberga los datos, ya que solo son ficheros, los alberga la base de datos, que es alojada por el hosting.

  12. Muchas gracias por estas estupendísimas guias, Fernando.
    Una pregunta. Si en mi web solo pueden comentar los usuarios registrados y a la hora del registro ya les hago aceptar un checkbox donde explico todo el funcionamiento en cuanto al almacenamiento de datos de la web ¿Crees que hace falta poner tambien el checkbox a la hora de escribir un comentario?
    Muchas gracias de nuevo por tu labor.

  13. Hola Fernando, mil gracias por el articulo, permiteme una pregunta, y como prodria hacer para poner este checkbox en formularios personalizados??, tengo una formulario de registro hecho por mi, y para poner el checkbox este como hago??

    Mil gracias

  14. Te comento Fernando:

    He usado el código que viene en la sección «Añadir casilla de aceptación y primera capa de información con un código (todo junto)» y me gustaría saber lo siguiente:

    En el código aparece un porción de código para «validación por javascript» y otra «sin validación js». ¿Son necesarias los dos o puedo dejar por ejemplo solo la última»?.

    Por otra parte, me aparece un error de sintaxis en la línea 14: $(«#submit»).click(function(e)){
    Lo cierto es que no parece afectar al funcionamiento del código.

    Por último, en la línea 62 me aparecen dos errores:
    – Fatal error: Uncaught Error: Call to undefined function is_user_logged_in()
    – Error: Call to undefined function is_user_logged_in()

    He localizado el problema y se trata de una incompatibilidad con un código que tengo para evitar scrapers y que puedes ver aquí..
    ¿Habría alguna forma de solventar esa incompatibilidad?

  15. Perdona Fernando. Lo que te decía sobre la incompatibilidad con el código para romper frames no es correcto. Lo he comprobado de nuevo y no afecta para nada.

  16. Hola Fernando, no se porque pero al pegar tu codigo en el function, la primera capa se me muestra en el arriba del todo, encima del header.php, como puedo arreglar esto?
    Gracias

    1. Mira que hayas copiado bien el código, y cualquier sustitución de comillas simples por tipográficas. También recuerda que debe ir en el functions.php del tema, no como plugin

        1. avísame si lo resuelves por favor, yo ya lo he intentado varias veces y no hay forma, la primera capa se queda en el top

    2. a mi me pasa igual, se me queda el texto en el top del sitio web. Y la casilla de aceptación he tenido que ponerla con el plugin «WP Comment Policy Checkbox» que funciona bien pero … otro plugin más en la lista…. porque con el código me hacía un diseño raro, la casilla centrada espacios y luego el texto. A ver si podemos resolver lo de los textos y gracias

      1. Es raro, lo tengo puesto en un montón de temas y va perfecto ¿habéis probado con otro tema? No digo porque cambiéis de tema sino porque el tema no use la función estándar de comentarios

        1. No, el tema es realizado por mi, no usa la funció standar para comentarios, tiene que usar la función estandar?

          1. arreglado, si le quitas el ultimo echo, la linea que dice echo $acceptance; funciona perfecto

          2. Buenas chicos,

            A mí me pasaba igual, he quitado esa parte y parece que al menos ya no se me muestra arriba. Pero a la hora de dejar un comentario, no me sale ninguna casilla para hacer clic y que el usuario pueda aceptar la nueva política de privacidad. Estoy logueada en mi página y viendo en versión oculta cómo lo ven los usuarios, y los comentarios me salen siempre igual, probando en diferentes navegadores. ¿Alguien me podría ayudar por favor? He metido el código igual que pone Fernando, pero cambiando a mi estilo y mis textos, lo he metido al final del todo en functions.php. Viendo que me fallaba y me ponía el texto por encima del logo, intenté instalar el plugin que comentabas ‘WP Comment Policy Checkbox’ pero no me funciona, hasta borrando la caché de la web y no consigo hacerlo funcionar, por eso finalmente me leí todo el hilo y desactivé y eliminé el plugin y añadí como comentáis aquí en functions.php como comenta ‘yomismo’ y es verdad que ya no se me ve por encima del logotipo, pero sigue sin salirme en la opción de los comentarios que la gente pueda pulsar mi Política de Privacidad y Aviso Legal que he puesto.

            ¿Me sabríais decir qué puede estar pasándome? Muchas gracias de antemano.

          3. Pero cuenta cómo lo has arreglado, por favor!! A mi no me carga la página, al poner el código, incluso con los retoques mencionados por aquí, la página no carga, se queda en blanco con un error 500

          4. Pues no se que ha podido salir mal, yo mismo lo tengo puesto en montones de sitios y nunca me ha dado un error 500.

            Mira a ver qué está fallando poniendo a true el DEBUG en wp-config.php

          5. Buenas Vic,

            En mi caso finalmente combiné el plugin y el código que se comentaba en el articulo. Y también elimine la caché de la web, y listo, todo genial.

            De todas formas, en ningún momento me dio fallos ni errores, solo se veía el código en la parte superior de la web, por encima del logo.

            Espero haberte ayudado.

          6. Hola ! chicos necesito Ayuda me he pasado toda el bendito día tratando de activar el Plugin WP Comments Policy Checkbox y no me sale nada :S Así que empecé a buscar un código! Yo cobio el código (todo junto) en functions.php al final y me sale el error : Los cambios en tu código PHP se han revertido debido a un error en la
            línea 564 del archivo wp-content/themes/colormag/functions.php. Por
            favor, arréglalo y trata de guardar de nuevo.
            Las líneas van así:
            559 }
            560 }
            561 });
            562
            563 <?php
            564 }
            565 }
            Cuando borro los corchetes de las líneas 564 y 565 me sale la parte de abajo bien pero la del checkbox me sale en la parte de arriba, aún borrando lo del echo….
            alguien puede ayudarme por favor ? estaría eternamente agradecida… que hago mal?

  17. Hola Fernando. Vengo el otro post desde el que me has dirigido a este. He hecho todos los pasos y ya tengo mi casilla con la información, pero me ha surgido un problema. La cuestión es que el texto de la segunda parte, donde damos la información, me aparece también y misteriosamente en la parte superior de mi página web, por encima incluso del logo. ¿Por qué puede ser? Mil gracias de nuevo.

  18. Hola.Enhorabuena por este artículo, me has salvado un quebradero de cabeza. Gracias. Solo una cosa, ¿cómo hacer que a la hora de contestar a los comentarios desde el menú comentarios de wordpress no me pida marcar la casilla?, ya que tengo que contestar desde el mismo post para marcarla y no puedo hacerlo desde el menú para moderar comentarios de wordpress. Gracias

  19. Fernando Tellado, amigo, Fernando Tellado, yo solo te escribo para decirte que eres la bomba, y que gracias por salvarme el pellejo, sobre todo para una tecnofóbica como yo. ¡Un saludo!

  20. Jessie SMartin

    Buenas noches. Tenía una duda. He visto que el cogido para añadir el consentimiento y demás en los comentarios, se hace a través del archivo de archivo functions.php, pero mi blog es gratuito, y por desgracia En las webs gratuitas alojadas en “wordpress.com” no es posible acceder a este archivo ni a ningún otro código PHP, como tampoco está permitido instalar plugins o cambiar los estilos CSS…. (para instalar un plugin o subirlo me piden pasarme a business y pagar una cantidad mensual!, y yo lo tengo todo gratuito).
    Para los que tenemos wordpress.com en el modo gratuito, y no podemos acceder a ese archivo functions ni tampoco instalar plugins…. qué solución hay?

    Muchisimas gracias, acabo de descubrir esta web y me encanta.
    Un saludo.
    Jessie.

  21. Streamyng - Vídeo ➕ Marketing

    Hola Fernando. Ante todo muchas gracias por la información y el código. He probado el que añade la casilla y la primera capa de información a la vez y me funciona a medias. La casilla de aceptación aparece (aún no la he probado) pero el texto con la información no aparece. He probado también eliminando el último ‘echo’ pero el mismo resultado.

    Gracias por tu ayuda!

      1. Streamyng - Vídeo ➕ Marketing

        Ok. No soy partidario de hinchar a plugins pero creo que lo haré aunque sea de manera provisional. Muchas gracias!

  22. Hola, gracias por el aporte, tengo algunas cosas que marcar del código, la primera es que si agregamos required=»required» al código del checkbox no va a hacer falta que salga de la página para avisarnos que no marcamos la casilla, sino que el propio navegador nos va a poner un cartel de «Revise esté input antes de continuar».

    El segundo error que no pude arreglar fue que si queremos responder un comentario desde el panel de administrador no es posible, ya que nos sale el error que nos solicita que marquemos la casilla de las políticas de privacidad y en el panel de administrador, al responder un comentario no aparece. Quizás estaría bueno que se pueda agregar la casilla también en el panel o simplemente que no sea requerida para los administradores del sitio.

    Saludos, gracias por el aporte!

    1. Hola Juan,
      ¿has probado lo de poner lo que comentas de required=»required» al código del checkbox?
      ¿Donde debería ponerlo para probarlo?
      Es que el wp_die() al no tener ningún botón de Volver Atrás, muchos usuarios de ahí ya se van de la web porque cierran la pestaña y esto es un problema gordo
      Espero tu ayuda
      Gracias y saludos

  23. Evaristo Velasco Pastor

    He seguido este tutorial y tengo dos errores, según un abogado debe haber un doble Check en comentarios el primero para expresar el motivo por el cual se recogen los datos y el segundo su consentimiento … No se cómo añadir un doble Check fuera aparte cuando pongo los datos de administrador me destroza la plantilla aparecen arriba a la izquierda, he probado uno de estos plugin y funcionan muy bien pero solo dejan 1 Check.. Cómo se pone un segundo? Esto es un lío muchas gracias.

    1. No he leído en ninguna parte que haya que hacer un doble ckeck. El RGPD dice que debes informar del motivo antes de pedir los datos, y luego pedir consentimiento expreso. Es como redundante

  24. Hola, Fernando. Gracias por el código. Sin embargo, hay otro error. Cuando respondes un comentarios desde el Administrador de WordPress, te da el error de que debes aceptar la política de privacidad. El problema es que no hay ningún botón para ello.

          1. Gracias a ti ¿te parece que lo pongamos en el post ya que soluciona la parte inicial que tanto quebradero de cabeza ha dado?

          2. Streamyng - Vídeo ➕ Marketing

            Muchísimas gracias. Lo pruebo en cuanto pueda.
            ================================================
            Probado. ¡Va de fábula! ¡Mil gracias, a los dos!

  25. Rafael Sánchez

    ¡Genial artículo!

    Aun así, hay un pequeño fallo de programación en el código que pones en php para añadir manualmente tanto el check como la información de primera capa.

    Casi al final dice algo como esto:
    »
    function ft_acceptance_comments( $form ) {
    global $acceptance;

    return $form . $acceptance;
    }
    {
    global $acceptance;

    echo $acceptance;
    }

    add_action( ‘comment_form_field_comment’, ‘ft_acceptance_comments’ );
    »

    Parece como si le hubieras definido dos cuerpos a la función «ft_acceptance_comments» (tienes dos partes encerradas entre el begin ({) y el end (})

    Sobra el segundo cuerpo a mi entender

    ¡Un saludo!

    1. Sí parece que ese cuerpo sobra, igual era de alguna prueba y se ha pasado borrarlo. Se podría dejar así:

      /** Primera capa privacidad en comentarios **/
      function ft_acceptance_comments( $form ) {
      $acceptance = ‘Información sobre protección de datos
      Responsable: Fernando Tellado
      Fin del tratamiento: Controlar el spam, gestión de comentarios
      Legitimación: Tu consentimiento
      Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
      Derechos: Acceso, rectificación, portabilidad, olvido.
      Contacto: [email protected].
      Información adicional: Más información en nuestra política de privacidad.’;

      return $form . $acceptance;
      }
      add_action( ‘comment_form_field_comment’, ‘ft_acceptance_comments’ );

      Gran artículo Fernando, muchas gracias!

  26. Fernando buenas tardes, leí tu post sobre Disqus, y veo que tú lo usas aún (yo también) …

    ¿Seguro que avisando previamente, y teniendo en cuenta que no depende de nosotros (sino que es Disqus quien debe cumplir la RGPD por su parte) podemos usarlo en los blogs?.
    ¿Puedes comentar algo más por favor?. Me quedo tranquilo no obstante viendo que un pedazo profesional como tú aún lo usa.. así que deduzco que no hay problema, avisando previamente antes de comentar claro … (aunque se supone que uno de los handicaps de esta ley es que hay que marcar el dichoso checkbox SIEEMPRE ….. comentarios, formularios, etc etc ..)

    Muchas gracias por tus artículos, siempre genial, muy detallista y aplicado, dando soluciones para todo;

    Saludos.

      1. Hola Fernando. Pues sí, parece ser que es uno de los puntos «ciegos» de Disqus .. Estoy igual que tú, mosqueadillo esperando a ver si paso todos los comentarios al blog, o los dejo en Disqus…
        Lo que he visto hoy por la mañana es que han cambiado algo en Disqus ..
        Ahora aparece en Disqus antes de iniciar sesión para comentar lo siguiente:

        I agree to Disqus’ Condiciones de servicio

        I agree to Disqus’ processing of email and IP address, and the use of cookies, to facilitate my authentication and posting of comments, explained further in the Política de privacidad

        I agree to further processing of my information for personalization as outlined in the Data Sharing Policy

        Aún así, no es suficiente para la RGPD no Fernando?

  27. Gran tutorial y muchas gracias por poner un poco de luz sobre todo este asunto. Me ha ayudado mucho ,Un saludo

  28. Perdón por el triple comentario peros se me ha olvidado preguntar si alguien sabe qué hay que poner en la página de incio cuando alguien accede a nuestra web.Yo tenía puesto que uso cookies y la política de cookies. Ahora hay que cambiar y poner algún mensaje de actualización de política de privacidad que salga como con un script o en un enlace en el footer. Espero habermne explicado bien y mil gracias.saludos

  29. Hola Fernando, muchas gracias por esta serie de artículos, la verdad es que nos facilitan mucho la vida.

    Tengo una pregunta, a nivel de optimización y velocidad de carga, ¿qué recomiendas, añadir el código en functions.php, o instalar el plugin?

    Gracias!

  30. Fernando me ha ayudado mucho tus post (este y el resto). Unicamente que tengo un problemilla. El plugin va de lujo en alguna web, según se activó y puse los textos y enlaces todo ok.

    El problema es en una web donde tengo el tema de Kallyas (y que ahora mismo no puedo hacer upgrade), en ese caso como bien explica el plugin no funciona al no tener un estándar (creo que es en comments.php¿?).

    ¿Alguna forma de hacer un parche a mano? No se si hay algo en los comentarios, los leí y no vi. Te agradecería si me das una solución porque es lo único que me queda ajustar para estar al día con la ley.

  31. Mefistófeles Pacheco

    soy un negado, pero si copio y pego el codigo tal cual en el functions del tema, con las tildes y acentos que tiene se me viene abajo
    alguna forma de poder copiarlo tal cual con sus tildes sin que se estropee el sitio?

  32. David Virgili Clarasso

    Hola Fernando,
    Lo he probado y funciona perfectamente, lo que me ocurre que cuando quiero responder a un comentario desde el escritorio de wordpress me pide que acepte la política de privacidad y no puedo responder a los comentarios

    No se si me he explicado con claridad
    Un fuerte abrazo y gracias por tu gran trabajo

  33. A mi me sale el checkbox con el enlace de política de privacidad pero no me sale la parrafada:

    /** Primera capa privacidad en comentarios **/
    $acceptance = ‘Información sobre protección de datos
    Responsable: Fernando Tellado
    Fin del tratamiento: Controlar el spam, gestión de comentarios
    Legitimación: Tu consentimiento
    Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
    Derechos: Acceso, rectificación, portabilidad, olvido.
    Contacto: [email protected].
    Información adicional: Más información en nuestra política de privacidad.’;

    Saludos!

  34. Buenas noches Fernando, en la parte «Añadir casilla de aceptación de la política de privacidad en los comentarios con un código» muestra un código que tiene un bug.

    En la línea 48 concatenas la cadena con comas y tiene que ser con puntos. Quizás lo este viendo yo mal, pero te aviso por si acaso.

    Un saludo y gracias por compartir esta valiosa información.

      1. Es PHP que concatena con HTML. La línea en cuestión es:

        echo get_comment_text() . ‘‘ . get_comment_meta(get_comment_ID(), ‘privacy’,1) . ‘‘;

        He sustituido las comas por los puntos para que no dé error de PHP.

  35. Hola Fernando, Lo primero gracias por todos tus aportes de WordPress. Al incluir el código en mi child > functions.php, en Search console me da un aviso de «Uncaught SyntaxError: Unexpected token )» en la línea «$(«#submit»).click(function(e)){ «. Tienes alguna solución para evitar ese mensaje de error? Un saludo y gracias de nuevo

  36. Tengo la duda de si al añadir el código al archivo functions.php luego cuando se actualice el tema se modificará.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido