neue Checkbox im Kommentarbereich

  • 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?

    • 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)

    Mehr erfahren

  • 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:

  • geht

    PHP
    function remove_comment_checkbox( $fields ) {
    unset($fields['cookies']);
    return $fields;
    }
    add_filter( 'comment_form_default_fields', 'remove_comment_checkbox' );


    ?

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • 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).

  • geht

    PHP
    function remove_comment_checkbox( $fields ) {
    unset($fields['cookies']);
    return $fields;
    }
    add_filter( 'comment_form_default_fields', 'remove_comment_checkbox' );


    ?

    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."


    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:

  • 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.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!