Permite añadir un checkbox para recabar el consentimiento del tratamiento de los datos y así cumplir con una parte del RGPD. Si el usuario no acepta le muestra un error explicándole el motivo, y si acepta se guarda en la base de datos como prueba. No olvides modificar el enlace a la política de privacidad.
<?php /** 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"> Acepto la <a target="blank" href="https://dominio.com/privacidad/">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_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()">' . __('« 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()">' . __('« 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'); }