{"id":25789,"date":"2021-06-14T13:44:00","date_gmt":"2021-06-14T10:44:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25789"},"modified":"2021-10-18T02:29:44","modified_gmt":"2021-10-17T23:29:44","slug":"so-passen-sie-das-kommentarformular-in-wordpress-an","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/so-passen-sie-das-kommentarformular-in-wordpress-an\/","title":{"rendered":"So passen Sie das Kommentarformular in WordPress an"},"content":{"rendered":"<p>WordPress kommt mit dem Kommentarformular im Kern. Dieses Kommentarformular wird normalerweise in Ihren Beitr\u00e4gen angezeigt. Die Besucher k\u00f6nnen ihr Feedback \u00fcber das Kommentarformular hinterlassen. Die Bereitstellung einer Kommentarfunktion f\u00fcr Besucher hilft Ihnen zu verstehen, was sie \u00fcber Ihre Inhalte denken. Es wird Ihnen helfen, Ihre Inhalte zu verbessern und auch an anderem Feedback zu arbeiten.<\/p>\n<p>Standardm\u00e4\u00dfig bietet WordPress im Kommentarformular Felder wie Nachricht, Name, E-Mail, Website und Kontrollk\u00e4stchen (um Ihre Daten f\u00fcr den n\u00e4chsten Kommentar im Browser zu speichern). Abh\u00e4ngig von Ihren Anforderungen m\u00fcssen Sie m\u00f6glicherweise Felder zu den Kommentarformularen hinzuf\u00fcgen oder entfernen.<\/p>\n<p>Sie k\u00f6nnen auch Stil f\u00fcr das gerenderte Kommentarformular hinzuf\u00fcgen. WordPress bietet eine einzigartige Klasse f\u00fcr die Formular- und Kommentarfelder. Mit diesen Klassen k\u00f6nnen Benutzer ihr eigenes Styling anwenden.<\/p>\n<p>In diesem Artikel erfahren Sie, wie Sie dem vorhandenen Kommentarformular ein weiteres Feld hinzuf\u00fcgen. Als Beispiel nehme ich ein Handynummernfeld und f\u00fcge es dem Formular hinzu. Um das Kommentarformular anzupassen, werden wir die folgenden Schritte nacheinander ausf\u00fchren.<\/p>\n<ul>\n<li>Feld zum Kommentarformular hinzuf\u00fcgen<\/li>\n<li>\u00dcberpr\u00fcfen Sie, ob das Feld leer ist oder nicht<\/li>\n<li>Dieses Feld als Kommentar-Meta speichern<\/li>\n<li>Meta-Box im Kommentarbearbeitungsformular anzeigen (im Backend)<\/li>\n<li>Kommentar-Meta speichern (aus dem Backend)<\/li>\n<\/ul>\n<p>Dar\u00fcber hinaus zeige ich Ihnen auch, wie Sie das Feld aus dem WordPress-Kommentarformular entfernen.<\/p>\n<h3>Feld zum Kommentarformular hinzuf\u00fcgen<\/h3>\n<p>Das Kommentarformular wird aus den Kerndateien von WordPress gerendert und wir sollten keine Kerndateien ber\u00fchren. Gl\u00fccklicherweise bietet WordPress Hooks, um die Kernfunktionen zu erweitern. Allerdings bietet WordPress einen Action-Hook, <code>comment_form_after_fields<\/code>mit dem wir Felder zum Kommentarformular hinzuf\u00fcgen k\u00f6nnen.<\/p>\n<p>F\u00fcgen wir mit diesem Action-Hook eine Handynummer hinzu. F\u00fcgen Sie den folgenden Code in die <code>functions.php<\/code>Datei ein.<\/p>\n<pre><code>add_action( 'comment_form_after_fields', 'additional_fields' );\nfunction additional_fields() {\n\u00a0\u00a0\u00a0\u00a0echo '&lt;p class=\"comment-form-mobile-number\"&gt;'. \u00a0\u00a0\u00a0\u00a0'&lt;label for=\"mobile-number\"&gt;'. esc_html__( 'Mobile Number' ). '&lt;span class=\"required\"&gt;*&lt;\/span&gt;&lt;\/label&gt;'. \u00a0\u00a0\u00a0\u00a0'&lt;input id=\"mobile-number\" name=\"mobile-number\" type=\"text\" size=\"30\" tabindex=\"5\" \/&gt;&lt;\/p&gt;';\n}<\/code><\/pre>\n<p>Gehen Sie nun zu Ihrer Webseite und laden Sie sie neu. Sie sollten das neue Feld &#8218;Mobile Number&#8216; zu Ihrem Kommentarformular hinzugef\u00fcgt sehen.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20214-6081ce6c3a810.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20214-6081ce6c3a810.png\" alt=\"So passen Sie das Kommentarformular in WordPress an\" ><\/a><\/p>\n<h3>\u00dcberpr\u00fcfen Sie, ob das Feld leer ist oder nicht<\/h3>\n<p>Dieser Schritt ist optional. Wenn Sie ein mobiles Feld nicht obligatorisch beibehalten m\u00f6chten, \u00fcberspringen Sie diesen Schritt. Wenn dieses Feld erforderlich ist, m\u00fcssen wir pr\u00fcfen, ob Besucher dieses Feld ausgef\u00fcllt haben oder nicht. Um diese Pr\u00fcfungen zur Laufzeit hinzuzuf\u00fcgen, verwenden wir den Filter <code>preprocess_comment<\/code>. Wenn ein Benutzer auf die Schaltfl\u00e4che &quot;Senden&quot; klickt, \u00fcberpr\u00fcft dieser Filter, ob das bestimmte Feld leer ist oder nicht. Wenn es leer ist, stoppt es die Ausf\u00fchrung und zeigt den Benutzern die Nachricht an.<\/p>\n<p>Verwenden Sie den Filter <code>preprocess_comment<\/code>wie im folgenden Code gezeigt. Dieser Code geht auch in die <code>functions.php<\/code>Datei.<\/p>\n<pre><code>add_filter( 'preprocess_comment', 'verify_comment_mobile_number' );\nfunction verify_comment_mobile_number( $commentdata) {\n\u00a0\u00a0\u00a0\u00a0if (empty( $_POST['mobile-number'])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0wp_die( esc_html__( 'Error: You did not add a mobile number. Please resubmit your comment with a mobile number.') );\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0return $commentdata;\n}<\/code><\/pre>\n<h3>Neues Feld gegen einen Kommentar speichern<\/h3>\n<p>In den vorherigen Schritten haben wir ein neues Feld hinzugef\u00fcgt und auch gesehen, wie man es obligatorisch macht. Jetzt sollten wir dieses Feld in der Datenbank gegen denselben Kommentar speichern. Um dies zu erreichen, verwenden wir die Aktion <code>comment_post<\/code>. Diese Aktion gibt uns die aktuell \u00fcbermittelte Kommentar-ID. \u00dcber die Kommentar-ID k\u00f6nnen wir unser mobiles Feld mit der <code>add_comment_meta<\/code>Funktion speichern .<\/p>\n<pre><code>add_action( 'comment_post', 'save_comment_mobile_number' );\nfunction save_comment_mobile_number( $comment_id) {\n\u00a0\u00a0\u00a0\u00a0if (( isset( $_POST['mobile-number'])) &amp;&amp; (! empty( $_POST['mobile-number']) )) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$mobile_number = wp_filter_nohtml_kses($_POST['mobile-number']);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0add_comment_meta( $comment_id, 'mobile-number', $mobile_number );\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Hier habe ich die <code>wp_filter_nohtml_kses<\/code>Funktion verwendet, um die eingegebenen Daten zu bereinigen.<\/p>\n<h3>Meta-Box im Kommentarbearbeitungsformular anzeigen (im Backend)<\/h3>\n<p>Bisher sind wir damit fertig, dem Frontend-Kommentarformular ein neues Feld hinzuzuf\u00fcgen und dieses neu hinzugef\u00fcgte Feld zu speichern. Jetzt sollten Sie als Administrator dieses Feld im Backend sehen.<\/p>\n<p>Wenn Sie im Backend zur Kommentarliste gehen, k\u00f6nnen Sie sehen, dass jeder Kommentar ein eigenes Bearbeitungsformular hat. In diesem Formular kann der Administrator den Kommentar bearbeiten. Unser n\u00e4chstes Ziel ist es, die Handynummer in diesem Kommentarbearbeitungsformular anzuzeigen.<\/p>\n<p>Dazu f\u00fcge ich eine Metabox hinzu, unter der wir die Handynummer platzieren. Verwenden Sie den unten stehenden Code, der <code>functions.php<\/code>eine Meta-Box mit der Handynummer hinzuf\u00fcgt.<\/p>\n<pre><code>add_action( 'add_meta_boxes_comment', 'comment_add_meta_box' );\nfunction comment_add_meta_box() {\n\u00a0\u00a0\u00a0\u00a0add_meta_box( 'title', __( 'Comment Metadata' ), 'comment_meta_box', 'comment', 'normal', 'high' );\n}\n\u00a0\nfunction comment_meta_box( $comment) {\n\u00a0\u00a0\u00a0\u00a0$mobile_number = get_comment_meta( $comment-&gt;comment_ID, 'mobile-number', true );\n\u00a0\u00a0\u00a0\u00a0wp_nonce_field( 'comment_update', 'comment_update_nonce', false );\n\u00a0\u00a0\u00a0\u00a0?&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label for=\"mobile-number\"&gt;&lt;?php esc_html_e( 'Mobile Number' ); ?&gt;&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"mobile-number\" value=\"&lt;?php echo esc_attr( $mobile_number ); ?&gt;\" class=\"widefat\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;?php\n}<\/code><\/pre>\n<h3>Kommentar-Meta speichern (aus dem Backend)<\/h3>\n<p>Wir sind fast fertig mit der Aufgabe. Als letztes m\u00fcssen Sie die Handynummer bearbeiten, wenn der Administrator sie aktualisiert. Es kann leicht mit Hilfe der <code>edit_comment<\/code>Aktion wie folgt durchgef\u00fchrt werden.<\/p>\n<pre><code>add_action( 'edit_comment', 'comment_edit_metafields' );\nfunction comment_edit_metafields( $comment_id) {\n\u00a0\u00a0\u00a0\u00a0if (! isset( $_POST['comment_update_nonce']) ||! wp_verify_nonce( $_POST['comment_update_nonce'], 'comment_update')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return;\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0if (( isset( $_POST['mobile-number'])) &amp;&amp; (! empty( $_POST['mobile-number'])) ): \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$mobile_number = wp_filter_nohtml_kses( $_POST['mobile-number'] );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0update_comment_meta( $comment_id, 'mobile-number', $mobile_number );\n\u00a0\u00a0\u00a0\u00a0else: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0delete_comment_meta( $comment_id, 'mobile-number' );\n\u00a0\u00a0\u00a0\u00a0endif;\n}<\/code><\/pre>\n<p>Es geht darum, ein neues Feld hinzuzuf\u00fcgen, indem Sie das Kommentarformular in WordPress anpassen. Sehen wir uns nun an, wie Sie Felder aus dem Kommentarformular entfernen k\u00f6nnen.<\/p>\n<h3>Entfernen Sie das Feld aus dem Kommentarformular in WordPress<\/h3>\n<p>Wie wir alle wissen, bietet WordPress im Kommentarformular nur wenige Felder (Nachricht, Name, E-Mail, Website und Kontrollk\u00e4stchen). Sie k\u00f6nnen einen von ihnen entfernen. Angenommen, Sie m\u00f6chten das Website-Feld aus dem Formular entfernen. Wir k\u00f6nnen dies mit dem Filter comment_form_default_fields tun. Sie sollten den Schl\u00fcssel des Website-Felds kennen. Nun stellt sich die Frage, wie man die Schl\u00fcssel der Kommentarformularfelder erh\u00e4lt.<\/p>\n<p>Ich mache es, indem ich die Felder in die Dummy-Textdatei schreibe.<\/p>\n<pre><code>add_filter('comment_form_default_fields', 'remove_comment_form_fields');\nfunction remove_comment_form_fields($fields) {\n\u00a0\u00a0\u00a0\u00a0file_put_contents('test.txt', print_r($fields, true));\n}<\/code><\/pre>\n<p>Wenn Sie nun die Seite mit einem Kommentarformular neu laden, wird die Datei <code>test.txt<\/code>im Stammordner erstellt. In meinem Fall hat diese Datei folgenden Inhalt.<\/p>\n<pre><code>Array (\u00a0\u00a0\u00a0\u00a0[author] =&gt; &lt;p class=\"comment-form-author\"&gt;&lt;label for=\"author\"&gt;Name &lt;span class=\"required\"&gt;*&lt;\/span&gt;&lt;\/label&gt; &lt;input id=\"author\" name=\"author\" type=\"text\" value=\"\" size=\"30\" maxlength=\"245\" required='required' \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0[email] =&gt; &lt;p class=\"comment-form-email\"&gt;&lt;label for=\"email\"&gt;Email &lt;span class=\"required\"&gt;*&lt;\/span&gt;&lt;\/label&gt; &lt;input id=\"email\" name=\"email\" type=\"email\" value=\"\" size=\"30\" maxlength=\"100\" aria-describedby=\"email-notes\" required='required' \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0[url] =&gt; &lt;p class=\"comment-form-url\"&gt;&lt;label for=\"url\"&gt;Website&lt;\/label&gt; &lt;input id=\"url\" name=\"url\" type=\"url\" value=\"\" size=\"30\" maxlength=\"200\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0[cookies] =&gt; &lt;p class=\"comment-form-cookies-consent\"&gt;&lt;input id=\"wp-comment-cookies-consent\" name=\"wp-comment-cookies-consent\" type=\"checkbox\" value=\"yes\" \/&gt; &lt;label for=\"wp-comment-cookies-consent\"&gt;Save my name, email, and website in this browser for the next time I comment.&lt;\/label&gt;&lt;\/p&gt;\n)<\/code><\/pre>\n<p>Es gibt Ihnen eindeutig die Schl\u00fcssel der Formularfelder. F\u00fcr das Website-Feld lautet der Schl\u00fcssel &#8218;url&#8216;. Daher werde ich den obigen Code wie folgt \u00e4ndern, wodurch das Website-Feld aus dem Kommentarformular entfernt wird.<\/p>\n<pre><code>add_filter('comment_form_default_fields', 'remove_comment_form_fields');\nfunction remove_comment_form_fields($fields) {\n\u00a0\u00a0\u00a0\u00a0if(isset($fields['url'])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0unset($fields['url']);\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0return $fields;\n}<\/code><\/pre>\n<p>Auf dieselbe Weise k\u00f6nnen Sie auch andere Felder des Kommentarformulars entfernen.<\/p>\n<p>Ich hoffe, Sie verstehen, wie Sie das Kommentarformular in WordPress anpassen. Bitte teilen Sie Ihre Gedanken und Vorschl\u00e4ge im Kommentarbereich unten mit.<\/p>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/zeigen-sie-beitrage-aus-einer-bestimmten-kategorie-auf-einer-wordpress-seite-an\/\" title=\"Zeigen Sie Beitr\u00e4ge aus einer bestimmten Kategorie auf einer WordPress-Seite an\" >Zeigen Sie Beitr\u00e4ge aus einer bestimmten Kategorie auf einer WordPress-Seite an<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-fugen-sie-ein-mauergitter-layout-in-wordpress-hinzu\/\" title=\"So f\u00fcgen Sie ein Mauergitter-Layout in WordPress hinzu\" >So f\u00fcgen Sie ein Mauergitter-Layout in WordPress hinzu<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-exportieren-sie-beitrage-in-csv-in-wordpress\/\" title=\"So exportieren Sie Beitr\u00e4ge in CSV in WordPress\" >So exportieren Sie Beitr\u00e4ge in CSV in WordPress<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Aufnahmequelle:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>M\u00f6chten Sie das Kommentarformular in WordPress anpassen? In diesem Artikel untersuchen wir einige Aktions- und Filter-Hooks, die uns bei der Anpassung helfen<\/p>\n","protected":false},"author":1,"featured_media":21625,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[607],"tags":[845],"class_list":["post-25789","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized-3","tag-affiai-de"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/25789","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/comments?post=25789"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/25789\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/21625"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=25789"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=25789"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=25789"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}