{"id":29550,"date":"2021-06-14T13:15:00","date_gmt":"2021-06-14T10:15:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=29550"},"modified":"2021-10-17T04:16:23","modified_gmt":"2021-10-17T01:16:23","slug":"hur-man-anpassar-kommentarformularet-i-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/hur-man-anpassar-kommentarformularet-i-wordpress\/","title":{"rendered":"Hur man anpassar kommentarformul\u00e4ret i WordPress"},"content":{"rendered":"<p>WordPress kommer med kommentarformul\u00e4ret i sin k\u00e4rna. Kommentarformul\u00e4ret visas vanligtvis i dina inl\u00e4gg. Bes\u00f6karna kan l\u00e4mna sin feedback med hj\u00e4lp av kommentarformul\u00e4ret. Att ge en kommentarfunktion f\u00f6r bes\u00f6kare hj\u00e4lper dig att f\u00f6rst\u00e5 vad de tycker om ditt inneh\u00e5ll. Det hj\u00e4lper till att f\u00f6rb\u00e4ttra ditt inneh\u00e5ll och arbeta med annan feedback ocks\u00e5.<\/p>\n<p>Som standard tillhandah\u00e5ller WordPress f\u00e4lt som meddelande, namn, e-post, webbplats och kryssruta (f\u00f6r att spara dina uppgifter i webbl\u00e4saren f\u00f6r n\u00e4sta kommentar) i kommentarformul\u00e4ret. Beroende p\u00e5 ditt krav kan du beh\u00f6va l\u00e4gga till eller ta bort f\u00e4lt fr\u00e5n kommentarformul\u00e4ret.<\/p>\n<p>Man kan ocks\u00e5 vilja l\u00e4gga till styling f\u00f6r det \u00e5tergivna kommentarformul\u00e4ret. WordPress ger en unik klass f\u00f6r formul\u00e4r- och kommentarf\u00e4lt. Med hj\u00e4lp av dessa klasser kan anv\u00e4ndare anv\u00e4nda sin egen styling.<\/p>\n<p>I den h\u00e4r artikeln ska vi se hur man l\u00e4gger till ytterligare ett f\u00e4lt i det befintliga kommentarformul\u00e4ret. Som ett exempel tar jag ett mobilnummerf\u00e4lt och l\u00e4gger till det i formul\u00e4ret. S\u00e5, f\u00f6r att anpassa kommentarformul\u00e4ret kommer vi att utf\u00f6ra stegen nedan en efter en.<\/p>\n<ul>\n<li>L\u00e4gg till f\u00e4lt i kommentarformul\u00e4ret<\/li>\n<li>Kontrollera om f\u00e4ltet \u00e4r tomt eller inte<\/li>\n<li>Spara det h\u00e4r f\u00e4ltet som en kommentarmeta<\/li>\n<li>Visa Meta-rutan p\u00e5 redigeringsformul\u00e4r f\u00f6r kommentarer (p\u00e5 backend)<\/li>\n<li>Spara kommentar Meta (fr\u00e5n backend)<\/li>\n<\/ul>\n<p>Ut\u00f6ver detta kommer jag ocks\u00e5 att visa dig hur du tar bort f\u00e4ltet fr\u00e5n WordPress-kommentarformul\u00e4ret.<\/p>\n<h3>L\u00e4gg till f\u00e4lt i kommentarformul\u00e4ret<\/h3>\n<p>Kommentarformul\u00e4ret \u00e5terges fr\u00e5n WordPress-k\u00e4rnfilerna och vi b\u00f6r inte r\u00f6ra n\u00e5gra k\u00e4rnfiler. Lyckligtvis tillhandah\u00e5ller WordPress krokar f\u00f6r att ut\u00f6ka k\u00e4rnfunktionerna. Med detta sagt tillhandah\u00e5ller WordPress en actionkrog <code>comment_form_after_fields<\/code>d\u00e4r vi kan l\u00e4gga till f\u00e4lt i kommentarformul\u00e4ret.<\/p>\n<p>L\u00e5t oss l\u00e4gga till ett mobilnummer med den h\u00e4r \u00e5tg\u00e4rdskroken. Placera koden nedan i <code>functions.php<\/code>filen.<\/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>G\u00e5 nu \u00f6ver till din webbsida och ladda om den. Du b\u00f6r se det nya f\u00e4ltet &#8217;Mobilnummer&#8217; l\u00e4ggas till i ditt kommentarformul\u00e4r.<\/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=\"Hur man anpassar kommentarformul\u00e4ret i WordPress\" ><\/a><\/p>\n<h3>Kontrollera om f\u00e4ltet \u00e4r tomt eller inte<\/h3>\n<p>Detta steg \u00e4r valfritt. Om du inte vill h\u00e5lla ett mobilt f\u00e4lt obligatoriskt hoppar du \u00f6ver det h\u00e4r steget. Om detta f\u00e4lt kr\u00e4vs m\u00e5ste vi kontrollera om bes\u00f6kare har fyllt i det h\u00e4r f\u00e4ltet eller inte. F\u00f6r att l\u00e4gga till dessa kontroller vid k\u00f6rning anv\u00e4nder vi filtret <code>preprocess_comment<\/code>. N\u00e4r en anv\u00e4ndare trycker p\u00e5 knappen Skicka kontrollerar detta filter om det specifika f\u00e4ltet \u00e4r tomt eller inte. Om den \u00e4r tom stoppar den k\u00f6rningen och visar meddelandet f\u00f6r anv\u00e4ndarna.<\/p>\n<p>Anv\u00e4nd filtret <code>preprocess_comment<\/code>som visas i f\u00f6ljande kod. Den h\u00e4r koden g\u00e5r ocks\u00e5 in i <code>functions.php<\/code>filen.<\/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>Spara nytt f\u00e4lt mot en kommentar<\/h3>\n<p>I de f\u00f6reg\u00e5ende stegen har vi lagt till ett nytt f\u00e4lt och s\u00e5g ocks\u00e5 hur man g\u00f6r det obligatoriskt. Nu ska vi spara detta f\u00e4lt i databasen mot samma kommentar. F\u00f6r att uppn\u00e5 detta kommer vi att anv\u00e4nda \u00e5tg\u00e4rden <code>comment_post<\/code>. Denna \u00e5tg\u00e4rd ger oss det f\u00f6r n\u00e4rvarande inkomna kommentar-id: t. Med hj\u00e4lp av kommentar-id kan vi spara v\u00e5rt mobilf\u00e4lt med <code>add_comment_meta<\/code>funktionen.<\/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>H\u00e4r har jag anv\u00e4nt <code>wp_filter_nohtml_kses<\/code>funktionen f\u00f6r att desinficera inmatad data.<\/p>\n<h3>Visa meta-rutan i kommentarens redigeringsformul\u00e4r (p\u00e5 backend)<\/h3>\n<p>Hittills \u00e4r vi klara med att l\u00e4gga till ett nytt f\u00e4lt i frontend-kommentarformul\u00e4ret och spara detta nyligen tillagda f\u00e4lt. Nu som administrat\u00f6r b\u00f6r du se det h\u00e4r f\u00e4ltet i backend.<\/p>\n<p>Om du g\u00e5r till kommentarlistan i backend kan du se att varje kommentar har sitt eget redigeringsformul\u00e4r. Fr\u00e5n detta formul\u00e4r kan administrat\u00f6ren redigera kommentaren. V\u00e5rt n\u00e4sta m\u00e5l \u00e4r att visa mobilnumret p\u00e5 det h\u00e4r redigeringsformul\u00e4ret.<\/p>\n<p>F\u00f6r detta ska jag l\u00e4gga till en metaf\u00e4lt under vilken vi kommer att placera mobilnumret. Anv\u00e4nd koden nedan <code>functions.php<\/code>som l\u00e4gger till en metaf\u00e4lt med mobilnummer i den.<\/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>Spara kommentar Meta (fr\u00e5n Backend)<\/h3>\n<p>Vi \u00e4r n\u00e4stan f\u00e4rdiga med uppgiften. Det sista som \u00e5terst\u00e5r \u00e4r att redigera mobilnumret n\u00e4r administrat\u00f6ren uppdaterar det. Det kan enkelt g\u00f6ras med hj\u00e4lp av <code>edit_comment<\/code>\u00e5tg\u00e4rder enligt f\u00f6ljande.<\/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>Det handlar om att l\u00e4gga till ett nytt f\u00e4lt genom att anpassa kommentarformul\u00e4ret i WordPress. L\u00e5t oss nu se hur man kan ta bort f\u00e4lt fr\u00e5n kommentarformul\u00e4ret.<\/p>\n<h3>Ta bort f\u00e4ltet fr\u00e5n kommentarformul\u00e4ret i WordPress<\/h3>\n<p>Som vi alla vet tillhandah\u00e5ller WordPress f\u00e5 f\u00e4lt (meddelande, namn, e-post, webbplats och kryssruta) i kommentarformul\u00e4ret. Du kanske vill ta bort n\u00e5gon av dem. L\u00e5t oss s\u00e4ga att du vill ta bort webbplatsf\u00e4ltet fr\u00e5n formul\u00e4ret. Vi kan g\u00f6ra detta med filtret comment_form_default_fields. Du borde veta nyckeln till webbplatsf\u00e4ltet. Nu \u00e4r fr\u00e5gan hur man f\u00e5r nycklarna till f\u00e4lt f\u00f6r kommentarformul\u00e4r.<\/p>\n<p>Jag g\u00f6r det genom att skriva f\u00e4lten till dummy-textfilen.<\/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>Nu om du laddar om sidan som har en kommentarformul\u00e4r <code>test.txt<\/code>skapas filen i rotmappen. I mitt fall har den h\u00e4r filen f\u00f6ljande inneh\u00e5ll.<\/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>Det ger dig tydligt nycklarna till formul\u00e4rf\u00e4lt. F\u00f6r webbplatsf\u00e4ltet \u00e4r nyckeln &quot;url&quot;. S\u00e5 jag kommer att \u00e4ndra ovanst\u00e5ende kod p\u00e5 f\u00f6ljande s\u00e4tt som tar bort webbplatsf\u00e4ltet fr\u00e5n kommentarformul\u00e4ret.<\/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>I samma metod kan du ocks\u00e5 ta bort andra f\u00e4lt i kommentarformul\u00e4ret.<\/p>\n<p>Jag hoppas att du f\u00f6rst\u00e5r hur du anpassar kommentarformul\u00e4ret i WordPress. Dela dina tankar och f\u00f6rslag i kommentarsektionen nedan.<\/p>\n<h4>relaterade artiklar<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/visa-inlagg-fran-specifik-kategori-pa-en-wordpress-sida\/\" title=\"Visa inl\u00e4gg fr\u00e5n specifik kategori p\u00e5 en WordPress-sida\" >Visa inl\u00e4gg fr\u00e5n specifik kategori p\u00e5 en WordPress-sida<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-lagger-till-murlayoutlayout-i-wordpress\/\" title=\"Hur man l\u00e4gger till murlayoutlayout i WordPress\" >Hur man l\u00e4gger till murlayoutlayout i WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-exporterar-inlagg-till-csv-i-wordpress\/\" title=\"Hur man exporterar inl\u00e4gg till CSV i WordPress\" >Hur man exporterar inl\u00e4gg till CSV i WordPress<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vill du anpassa kommentarformul\u00e4ret i WordPress? I den h\u00e4r artikeln studerar vi n\u00e5gra action- och filterkrokar som hj\u00e4lper oss att anpassa<\/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":[614],"tags":[850],"class_list":["post-29550","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/29550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=29550"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/29550\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/21625"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=29550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=29550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=29550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}