WordPress: Kommentare hier im Blog

Pixabay Datenschutz
Bild: Pixabay

Die Datenschutzgrundverordnung lässt grüßen. Im Vorfeld dieses Großereignisses für Blogger habe ich meine Kommentar-Snippets in einem Plugin zusammen gefasst und diese um die geforderte Checkbox zur Zustimmung der Datenspeicherung und dem nicht Setzen von Cookies erweitert. Das Plugin richtet sich an Bastler. Es besitzt keine Optionsseite im Adminmenü und muss im einem Texteditor angepasst werden. Das Plugin stellt folgende Funktionen bereit.

Plugin Features
  • Ersetzt die IP-Adresse durch 127.0.0.1
  • Löscht das Mail und URL-Feld im Kommentarformular
  • Ermöglicht einen Text vor und nach dem Kommentarfeld
  • Stellt den in der DSGVO geforderten Checkbutton zu Zustimmung der Datenspeicherung zur Verfügung
  • Verhindert das Setzen von Kommentar-Cookies

Download DSGVO Comments

Konfiguration
  • Zeile 33: Bitte den Text vor dem Kommentarfeld anpassen. Da steht zurzeit mein Text drin. HTML-Code ist möglich.
  • Zeile 34: Hier kommt der Text nach dem Kommentarfeld rein. Ist zurzeit leer.
  • Zeile 45: Checkbutton Styling und der Text nach dem Checkbutton kann hier geändert werden.
  • Zeile 58: Hier kann der Text geändert werden der angezeigt wird falls die Checkbox nicht abgehakt wird.
  • Zeile 75: Auch hier kommt der Fehlertext rein.
Einschränkungen
  • Als IP-Adresse wird immer 127.0.0.1 zurückgeliefert
  • Die Gravatar-Funktion ist wirkungslos, da keine Mailadressen gespeichert werden. Außer der des Blog-Admins
  • Auch der Chef des Blogs muss den Haken beim Kommentieren setzen
  • Im Backend von WordPress muss in den Einstellungen „Diskussion“ die Option „Benutzer müssen zum Kommentieren Name und E-Mail-Adresse hinterlassen“ deaktiviert werden.
<?php
/*
 * Plugin Name: DSGVO Comments
 * Description: Entfernt die IP-Adresse und das Mailfeld aus den Kommentaren. Stellt einen Datenschutzhinweis und eine Checkbox zur Zustimmung zur Verfügung. Stellt sicher dass keine Cookies gespeichert werden.
 * Plugin URI:  https://horstscheuer.de/dsgvo-konforme-kommentare-wordpress
 * Version:     2018.04.01
 * Author:      Horst Scheuer
 * Author URI:  https://horstscheuer.de
 * License:     MIT
 * License URI: http://www.opensource.org/licenses/mit-license.php
 */

if ( ! defined( 'WPINC' ) ) {
  die;
}

/* keine IP-Adresse */ 
function remove_comment_ip() { 
  return "127.0.0.1";
}
add_filter( 'pre_comment_user_ip', 'remove_comment_ip', 50);

/* kein Mailfeld */
function unset_comment_email_field($fields){
  if(isset($fields['email']))
    unset($fields['email']); 
    
  if(isset($fields['url']))
    unset($fields['url']);
    return $fields;
}
add_filter('comment_form_default_fields', 'unset_comment_email_field');

/* Hinweis vor und nach dem Kommentarfeld */
function afn_custom_comment_form($fields) {
  $fields['comment_notes_before'] = '<p style="font-size: 0.8em; line-height: 1.25em;">Für die Kommentarfunktion auf dieser Seite werden neben dem Kommentar auch Angaben zum Zeitpunkt der Erstellung des Kommentars und, wenn nicht anonym gepostet, der gewählte Nutzername und die eingegebene URL gespeichert.</p>';
  $fields['comment_notes_after'] = '';
  return $fields;
}
add_filter( 'comment_form_defaults', 'afn_custom_comment_form' );

/* Kommentar Checkbox */
function my_comment_form_field_comment( $comment_field ) {
  if ( is_admin() ) {
    return $comment_field;
  }
 
  return $comment_field.'<p class="privacy" style="font-size: 0.8em; line-height: 1.25em;"><input type="checkbox" name="privacy" value="privacy-key" class="privacyBox" aria-req="true"> <span  style="vertical-align: 10%;">Ich bin mit der Speicherung und Verarbeitung meiner Daten durch diese Website einverstanden</span><p>';
}
add_filter( 'comment_form_field_comment', 'my_comment_form_field_comment' );

function valdate_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('Du musst mit dem Speichern deiner Daten durch abhaken der Checkbox einverstanden sein');
          return false;
        }
      }
    });
    </script>
    <?php
  }
}
add_action('wp_footer','valdate_privacy_comment_javascript');

function verify_comment_privacy( $commentdata ) {
  if ( is_admin() ) {
    return $commentdata;
  } 

  if ( ! isset( $_POST['privacy'] ) )
    wp_die( __( 'Fehler: Du musst mit dem Speichern deiner Daten durch abhaken der Checkbox einverstanden sein' ) );
  
  return $commentdata;
}
add_filter( 'preprocess_comment', 'verify_comment_privacy' );

function save_comment_privacy( $comment_id ) {
  add_comment_meta( $comment_id, 'privacy', $_POST[ 'privacy' ] );
}
add_action( 'comment_post', 'save_comment_privacy' );

/* keine Cookies */
remove_action( 'set_comment_cookies', 'wp_set_comment_cookies' );
?>

Bitte beachten: Ihr nutzt obige Codezeilen bzw. den Download auf eigene Gefahr. Ich habe alles hier im Blog getestet. Ob das auch bei euch klappt weiß ich nicht.

Eine Antwort auf „WordPress: Kommentare hier im Blog“

Schreibe einen Kommentar

Für die Kommentarfunktion auf dieser Seite werden neben dem Kommentar auch Angaben zum Zeitpunkt der Erstellung des Kommentars und, wenn nicht anonym gepostet, der gewählte Nutzername gespeichert.

Ich bin mit der Speicherung und Verarbeitung meiner Daten durch diese Website einverstanden