Hallo,
WP 4.9.6 setzt ungefragt eine Checkbox mit dem Text "Meinen Namen, E-Mail und Website in diesem Browser speichern, bis ich wieder kommentiere" unter die Kommentare. Da ich vorher schon eine andere Lösung hierfür eingebaut hatte, möchte ich diese Checkbox nicht haben. Sie lässt sich aber nicht einfach deaktivieren, daher suche ich eine andere Lösung, um sie loszuwerden. Ich habe bei https://developer.wordpress.org/reference/hook…default_fields/ etwas gefunden und dann so benutzt:
function remove_comment_checkbox($consent) {
return '';
}
add_filter('comment_form_default_fields', 'remove_comment_checkbox');
aber dieses $consent entfernt nicht nur die Checkbox mitsamt Text, sondern auch Name, E-Mail und Website. Kann mir jemand sagen, wie ich das hinkriege?
neue Checkbox im Kommentarbereich
-
- WP <5.0
-
Woodstock -
20. Mai 2018 um 10:55
-
-
- Gerade eben
- Anzeige
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
-
Guck mal, wie die Checkbox heisst (sagen wir hier mal "checkbox"), und dann machst Du kein return "", sondern ein unset($consent['checkbox']);
Denn in $consent stehen alle Default-Felder der Kommentar-Form, bei einem return ''; steht halt gar nix mehr drin.
-
Also in der comment-template.php steht
$fields = array(
'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
'<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30" maxlength="245"' . $html_req . ' /></p>',
'email' => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
'<input id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30" maxlength="100" aria-describedby="email-notes"' . $html_req . ' /></p>',
'url' => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label> ' .
'<input id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" maxlength="200" /></p>',
'cookies' => '<p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $consent . ' />' .
'<label for="wp-comment-cookies-consent">' . __( 'Save my name, email, and website in this browser for the next time I comment.' ) . '</label></p>',
);danach heißt die Checkbox "wp-comment-cookies-consent", oder? Wenn ich das so schreibe:
function remove_comment_checkbox($consent) {
unset($consent['wp-comment-cookies-consent']);
}
add_filter('comment_form_default_fields', 'remove_comment_checkbox');sind aber auch nicht nur die Checkbox, sondern auch Name, E-Mail und Website weg. Was mache ich falsch? :rolleyes:
-
-
Jaaaa :) Vielen lieben Dank!
-
@maxe:
Danke für den Super Tipp!
Ich habe den PHP-Code in mein eigenes Datenschutz-Plugin eingebaut. -
@maxe
Da bin ich zu doof...
Die comment-template.php Datei hat fast 2500 Zeilen.
Wo füge ich die Code Zeilen ein?
tom -
Zitat
Die comment-template.php Datei hat fast 2500 Zeilen.
Wo füge ich die Code Zeilen ein?
Der Code gehört in die Datei "functions.php" im aktuell benutzen Theme rein. Am Besten aber dazu ein Child-Theme verwenden. Ansonsten sind die Änderungen beim nächsten WP-Update wieder weg (überschrieben). -
@m266
Vielen Dank
tom -
Ich würde diese Checkbox ja auch nur zu gerne loswerden. Mit dem obigen Code geht es allerdings nicht. Dadurch wird meine komplette Seitenleiste zerpflückt. Gibt's wohl noch eine andere Möglichkeit?
-
Okay, habe es jetzt per CSS hinbekommen. Vielleicht nicht ideal, aber Hauptsache der Kram ist weg!
[PLAIN].comment-form-cookies-consent {
display: none;
} /* Kontrollkästchen "Save my name…" im Kommentarbereich ausgeblendet */[/PLAIN] -
Hier geht das über eine Checkbox bei "Einstellungen > Diskussion > Weitere Kommentareinstellungen > Opt-in-Checkbox für Kommentar-Cookies anzeigen."
-
Hier geht das über eine Checkbox bei "Einstellungen > Diskussion > Weitere Kommentareinstellungen > Opt-in-Checkbox für Kommentar-Cookies anzeigen."
Wow! Ja, es gibt anscheinend sogar eine Einstellung in WordPress dafür!! Das ist aber neu, oder? Sonst gäbe es doch im Web nicht so viele Vorschläge dafür, wie man es per PHP wegbekommen könnte.Allerdings war die Einstellung bei mir schon deaktiviert und die blöde Checkbox tauchte trotzdem weiterhin auf. :mad: Also muss ich wohl bei meinem CSS bleiben. :confused:
-
…Gerade noch einmal auf einer anderen Website getestet. Auch da funktioniert die Einstellung in WordPress nicht!
-
Evtl. verwendest Du ein (in diesem Punkt) veraltetes Theme?
Am Rande bemerkt, im Web gibt es zig Vorschläge für jede Menge Dinge, die man so nicht (mehr) braucht oder nicht macht oder die einfach auch falsch sind.
-
Evtl. verwendest Du ein (in diesem Punkt) veraltetes Theme?
Ich betreibe/verwalte recht viele Websites mit unterschiedlichen Themes. Sowohl Themes als auch Plugins sind aktuell gehalten. Benutze aber i.d.R. immer die gleichen Plugins. In sofern möglicherweise dort eine Inkompatibiliät...Am Rande bemerkt, im Web gibt es zig Vorschläge für jede Menge Dinge, die man so nicht (mehr) braucht oder nicht macht oder die einfach auch falsch sind.
Auch das. Aber da der hier vorgeschlagene PHP-Code vom WPDE-Team Mitglied maxe kam, lässt das doch vermuten, dass es dieses Kontrollkästchen in den Einstellungen noch nicht lange gibt – bzw. noch nicht so lange wie es das Kästchen auf Frontendseite gibt. -
Tipp am Rande: Der Vorschlag von @maxe ist schon sehr alt...
-
Tipp am Rande: Vom Mai 2018.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!