Jalara Studio

aktualisiert am
23. 03. 2019

In WordPress 4.9 / 5 den Cookie-Hinweis unter dem Kommentar entfernen

# #


WordPress informiert ab der Version 4.9.6 Besucher, die einen Kommentar abgeben möchten, über das Setzen eines Cookies mit folgendem Hinweis: Meinen Namen, E-Mail und Website in diesem Browser speichern, bis ich wieder kommentiere. (engl. Save my name, email, and website in this browser for the next time I comment.):

Bestätigt der Besucher diese Checkbox wird ein Cookie mit dessen personenbezogenen Daten in seinem Browser für ein Jahr gespeichert.

Kommentar-Cookie vor WP 4.9.6 vermeiden

Weil dieser Cookie für den Besucher nicht zwingend notwendig ist, ließ sich das Setzen des Cookies in vorherigen WordPress-Versionen bereits wie folgt vermeiden:*

remove_action( 'set_comment_cookies', 'wp_set_comment_cookies' );

Cookie-Checkbox in WP 4.9.6 bis 4.9.7 entfernen

Dieser Codeschnipsel ist ab der WordPress-Version 4.9.6 nicht mehr nötig, weil das Cookie erst gesetzt wird, wenn die Checkbox bestätigt wurde.

Wer die Checkbox entfernen möchte, kann hierfür den Filter Hook 'comment_form_default_fields' verwenden* oder auf die WordPress-Version 4.9.8 updaten (empfehlenswert):

function remove_cookie_checkbox( $fields ) {
    if ( isset( $fields['cookies'] ) ) {
        unset( $fields['cookies'] );
    } 
    return $fields;
}
add_filter( 'comment_form_default_fields', 'remove_cookie_checkbox' );

Cookie-Checkbox ab WP 4.9.8 deaktivieren

Mit der am 2. August 2018 veröffentlichten WordPress-Version 4.9.8 wird die Cookie-Checkbox erst mit dem Anklicken der Checkbox »Opt-in-Checkbox für Kommentar-Cookies anzeigen.« im Bereich Einstellungen Diskussion im Frontend aktiviert:

Hinweis: Das Entfernen der Cookie-Checkbox über den oben genannten Filter Hook 'comment_form_default_fields' ist somit nicht mehr nötig.

Felder E-Mail und Website entfernen

Die Felder E-Mail und Website lassen sich wie folgt entfernen:*

function remove_comment_email_url_fields( $fields ) {
    if ( isset( $fields['url'] ) ) {
        unset( $fields['url'] );
    }
    if ( isset( $fields['email'] ) ) {
        unset( $fields['email'] );
    }
    return $fields;
}
add_filter( 'comment_form_default_fields','remove_comment_email_url_fields' );

Checkbox-Text ab WP 4.9.6 ändern

Hast du z.B. das Feld Website deaktiviert oder möchtest du aus anderen Gründen den Inhalt der Checkbox anpassen, so kannst du dies mit dem folgenden Codeschnipsel tun:*

function change_cookie_checkbox_content( $fields ) {

    // Füge hier deinen Text ein
    $custom_text = 'Speicher den Namen und die E-Mail-Adresse für ein Jahr in einem Cookie. (<a rel="nofollow" href="/datenschutzerklärung">Datenschutzerklärung</a>)';

    // Checkbox enthält ein Häkchen,
    // wenn es zuvor bereits bestätigt wurde
    if ( empty( wp_get_current_commenter(['comment_author_email']) ) ) {
        $checked = '';
    } else { $checked = 'checked="checked"'; }

    $fields['cookies'] = '<p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $checked . ' /><label for="wp-comment-cookies-consent">' . $custom_text . '</label></p>';
    return $fields;
}
add_filter( 'comment_form_default_fields', 'change_cookie_checkbox_content' );

IP-Adresse und User Agent

Die IP-Adresse wird weiterhin übertragen, weil diese u.a. zur Überprüfung von Spam-Kommentaren nützlich sein kann. Dennoch muss der Autor des Kommentars u.a. über die Speicherung und die Gründe für das Speichern dieses personenbezogenen Datums in der Datenschutzerklärung informiert werden.

WordPress 4.9.6 bringt einen Mustertext für eine Datenschutzerklärung mit und fügt diesen auch auf Wunsch in einer Seite ein (EinstellungenDatenschutz + Neue Seite erstellen + Veröffentlichen).

Auszug des Mustertextes: Wenn Besucher Kommentare auf der Website schreiben, sammeln wir die Daten, die im Kommentar-Formular angezeigt werden, außerdem die IP-Adresse des Besuchers und den User-Agent-String (damit wird der Browser identifiziert), um die Erkennung von Spam zu unterstützen. Wenn du ein Konto auf dieser Website besitzt oder Kommentare geschrieben hast, kannst du einen Export deiner personenbezogenen Daten bei uns anfordern, inklusive aller Daten, die du uns mitgeteilt hast. Darüber hinaus kannst du die Löschung aller personenbezogenen Daten, die wir von dir gespeichert haben, anfordern.

IP-Adresse nicht speichern

Soll die IP-Adresse beim Kommentieren nicht gespeichert werden, kann folgende Funktion dem Filter Hook 'pre_comment_user_ip' mitgegeben werden:*

function remove_comment_author_ip( $comment_author_ip ) {
    return '';
}
add_filter( 'pre_comment_user_ip', 'remove_comment_author_ip' );

User Agent nicht speichern

Möchtest du auch den User-Agent-String nicht in der Datenbank speichern, kannst du den Filter Hook 'pre_comment_user_agent' verwenden:*

function remove_comment_agent_string( $comment_agent ) { 
     return ''; 
} 
add_filter( 'pre_comment_user_agent', 'remove_comment_agent_string' );

*Füge die genannten Codeschnipsel in die Datei functions.php im Child Theme ein (DesignEditor + Theme-Funktionen):