Kommentare in WordPress einrichten. Benutzern erlauben, anonyme Kommentare in WordPress zu hinterlassen. So entfernen Sie die Felder „Name“ und „E-Mail“ vollständig aus dem Kommentarformular

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

WordPress verfügt über verschiedene Arten von Inhalten wie Beiträge, Seiten und Kommentare. WordPress ist eine sehr flexible Plattform, die es Ihnen ermöglicht, grundlegende Inhalte an Ihre Website anzupassen. Kann gewechselt werden Aussehen und Funktionalität. In diesem Tutorial zeigen wir Ihnen, wie Sie das Verhalten und Erscheinungsbild von Kommentaren auf einer WordPress-Site ändern.

Schritt 1. Die Funktion comment_form und ihre Argumente verstehen

Werfen wir einen Blick auf die WordPress-Funktion comment_form. Es ist für die Anzeige des Kommentarformulars verantwortlich, das auf der Seite oder dem Beitrag erscheint. Der Aufruf dieser Funktion ist hauptsächlich in der Datei comments.php im Theme-Ordner zu finden. Diese Datei an verschiedenen Stellen enthalten, beispielsweise in den Dateien single.php und page.php, direkt oder durch einen Aufruf der Funktion comments_template.

Die Beschreibung der Funktion finden Sie im WordPress-Codex.

Wenn Sie die Funktion comment_form verwenden, um ein Formular anzuzeigen, wird es mit den Standardparametern gerendert und enthält Felder wie Name, E-Mail (beide Felder sind erforderlich), Website und Kommentarinhalt. Im Standardthema von Twenty Eleven sieht das Formular so aus.

Einige wichtige Argumente für die Funktion comment_form:

  • Felder – Sie können damit die Anzeige von Feldern im Kommentarformular steuern.
  • comment_notes_before und comment_notes_after – werden verwendet, um Informationen vor und nach dem Formular anzuzeigen.
  • title_reply – wird verwendet, um den Titel der Antwort zu ändern, der standardmäßig „Hinterlasse eine Antwort“ lautet.
  • label_submit – wird verwendet, um den Text auf der Schaltfläche zum Senden von Kommentaren zu ändern.
Schritt 2: Passen Sie das Kommentarformular mit der Funktion comment_form an

Nun richten wir unser Kommentarformular ein, indem wir Argumente an die Funktion comment_form übergeben.

Falls wir die Felder im Kommentarformular anpassen müssen, müssen wir eine Liste davon an die Funktion comment_form übergeben. Standardmäßig verwendet die Funktion die folgende Liste von Feldern:

$fields = array("author" => "

" . "" . __("Name") . " " . ($req ? "*" : "") . "

", "E-Mail" => " ", "url" => "

" . __("Webseite") . "" . "

",);

Wenn wir ein Feld entfernen müssen, zum Beispiel website , müssen wir es einfach aus dem Array ausschließen und das Array an die Funktion comment_form übergeben.

$commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("author" => "

" . "" . __("Name") . " " . ($req ? "*" : "") . "

", "E-Mail" => " ",); $comments_args = array("fields" => $fields); comment_form($comments_args);

Darüber hinaus ändern wir auch den Namen des Formulars in „Bitte geben Sie uns Ihren wertvollen Kommentar“ und die Aufschrift auf der Schaltfläche in „Meinen Kommentar senden“.

Um die Aufgabe abzuschließen, übergeben wir die folgenden Argumente an die Funktion comment_form:

$commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("author" => "

" . "" . __("Name") . " " . ($req ? "*" : "") . "

", "E-Mail" => " ",); $comments_args = array("fields" => $fields, "title_reply"=>"Bitte geben Sie uns Ihren wertvollen Kommentar", "label_submit" => "Meinen Kommentar senden"); comment_form($comments_args);

Das Kommentarformular sieht nun so aus:

Schritt 3. Entfernen von Feldern aus einem Formular mithilfe eines Hooks

Auch Formular WordPress-Kommentare kann mithilfe von Hooks und Filtern geändert werden. Diese Einstellung kann besonders nützlich sein, wenn Sie mit einem Plugin arbeiten, wenn Sie mehrere Elemente anpassen, aber die Theme-Dateien nicht ändern müssen. Filter zum Hinzufügen oder Entfernen von Feldern zum Formular – „comment_form_default_fields“

Entfernen wir das URL-Feld mithilfe eines Filters. Der obige Code kann in einem Plugin oder in der Datei „functions.php“ des aktiven Themes verwendet werden.

Funktion remove_comment_fields($fields) ( unset($fields["url"]); return $fields; ) add_filter("comment_form_default_fields","remove_comment_fields");

Schritt 4. Fügen Sie mithilfe eines Hooks Daten zum Kommentarformular hinzu

Mit dem Filter „comment_form_default_fields“ können wir dem Formular Felder hinzufügen. Fügen wir über einen Filter das Altersfeld des Autors hinzu und speichern dieses Feld mit zusätzlichen Daten und zeigen es im Kommentar an.

Fügen Sie ein Feld wie dieses hinzu:

Funktion add_comment_fields($fields) ( $fields["age"] = "

" . __("Alter") . "" . "

"; $fields zurückgeben; ) add_filter("comment_form_default_fields","add_comment_fields");

#respond .comment-form-author label, #respond .comment-form-email label, #respond .comment-form-url label, #respond .comment-form-age label, #respond .comment-form-comment label ( Hintergrund: #eee; -webkit-box-shadow: 1px 2px 2px rgba(204,204,204,0,8); -moz-box-shadow: 1px 2px 2px rgba(204,204,204,0,8); box-shadow: 1px 2px 2px rgba(204,204,204, 0,8); Farbe: #555; Anzeige: Inline-Block; Schriftgröße: 13 Pixel; links: 4 Pixel; Mindestbreite: 60 Pixel; Abstand: 4 Pixel 10 Pixel; Position: relativ; oben: 40 Pixel; Z-Index: 1; )

Nun sieht unser Kommentarformular so aus:

Jetzt wird das Alter als gespeichert Weitere Informationen. Sie müssen den Hook in „comment_post“ verwenden:

Funktion add_comment_meta_values($comment_id) ( if(isset($_POST["age"])) ( $age = wp_filter_nohtml_kses($_POST["age"]); add_comment_meta($comment_id, "age", $age, false); ) ) add_action("comment_post", "add_comment_meta_values", 1);

Sobald die Daten gespeichert sind, können sie als Kommentar wie folgt ausgegeben werden:

Schritt 5. Kommentare für bestimmte Beitragstypen einrichten

Manchmal möchten Sie Kommentarfelder nur für bestimmte Arten von Beiträgen verwenden. Ändern wir den Code so, dass das Altersfeld nur für einen Buchdatensatztyp angezeigt wird:

Funktion add_comment_fields($fields) ( if(is_singular("books")) ( $fields["age"] = "

" . __("Alter") . "" . "

"; ) return $fields; ) add_filter("comment_form_default_fields","add_comment_fields");

Schritt 6: Erstellen Sie eine Rückruffunktion, um Kommentare anzuzeigen

Die Funktion wp_list_comments wird verwendet, um Kommentare zu Beiträgen anzuzeigen. Im WordPress-Code Die Funktion wird ausführlich beschrieben.

wp_list_comments verfügt über ein Callback-Argument, in dem Sie eine Funktion definieren können, die aufgerufen wird, wenn ein Kommentar angezeigt wird.

Im Twenty Eleven-Theme in der Datei comments.php finden Sie die Zeile:

Wp_list_comments(array("callback" => "twentyeleven_comment"));

Ändern wir es wie folgt:

Wp_list_comments(array("callback" => "my_comments_callback"));

Die Funktion my_comments_callback wird für jeden Beitrag aufgerufen.

Schritt 7: Kommentare gestalten

Jetzt ändern wir den Kommentarstil ein wenig. Wir zeigen einfach den Inhalt des Beitrags und das Altersfeld an, das wir zuvor hinzugefügt haben. Wir werden auch die Hintergrundfarbe für Kommentare ändern.

Funktionscode „my_comments_callback“:

Funktion my_comments_callback($comment, $args, $ Depth) ( $GLOBALS["comment"] = $comment; ?>

">

Freunden erzählen