{"id":25801,"date":"2021-06-14T13:21:00","date_gmt":"2021-06-14T10:21:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25801"},"modified":"2021-10-17T20:17:47","modified_gmt":"2021-10-17T17:17:47","slug":"kuinka-mukauttaa-kommenttilomaketta-wordpressissa","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/kuinka-mukauttaa-kommenttilomaketta-wordpressissa\/","title":{"rendered":"Kuinka mukauttaa kommenttilomaketta WordPressiss\u00e4"},"content":{"rendered":"<p>WordPressin ytimess\u00e4 on kommenttilomake. T\u00e4m\u00e4 kommenttilomake n\u00e4kyy yleens\u00e4 viesteiss\u00e4si. Vierailijat voivat j\u00e4tt\u00e4\u00e4 palautteensa kommenttilomakkeella. Kommenttiominaisuuden antaminen vierailijoille auttaa sinua ymm\u00e4rt\u00e4m\u00e4\u00e4n, mit\u00e4 he ajattelevat sis\u00e4ll\u00f6st\u00e4si. Se auttaa parantamaan sis\u00e4lt\u00f6\u00e4si ja k\u00e4sittelem\u00e4\u00e4n my\u00f6s muuta palautetta.<\/p>\n<p>Oletusarvoisesti WordPress tarjoaa kommenttilomakkeella kent\u00e4t, kuten viesti, nimi, s\u00e4hk\u00f6postiosoite, verkkosivusto ja valintaruutu (tallentaaksesi tietosi selaimeen seuraavaa kommenttia varten). Vaatimuksestasi riippuen saatat joutua lis\u00e4\u00e4m\u00e4\u00e4n tai poistamaan kentti\u00e4 kommenttilomakkeista.<\/p>\n<p>Voi my\u00f6s haluta lis\u00e4t\u00e4 tyylin renderoidulle kommenttilomakkeelle. WordPress tarjoaa ainutlaatuisen luokan lomake- ja kommenttikentille. N\u00e4iden luokkien avulla k\u00e4ytt\u00e4j\u00e4t voivat soveltaa omaa tyyli\u00e4\u00e4n.<\/p>\n<p>T\u00e4ss\u00e4 artikkelissa aiomme n\u00e4hd\u00e4, kuinka lis\u00e4t\u00e4 viel\u00e4 yksi kentt\u00e4 olemassa olevaan kommenttilomakkeeseen. Otan esimerkkin\u00e4 matkapuhelinnumerokent\u00e4n ja lis\u00e4\u00e4 sen lomakkeeseen. Joten kommentointilomakkeen mukauttamiseksi aiomme suorittaa seuraavat vaiheet yksi kerrallaan.<\/p>\n<ul>\n<li>Lis\u00e4\u00e4 kentt\u00e4 kommenttilomakkeeseen<\/li>\n<li>Tarkista, onko kentt\u00e4 tyhj\u00e4<\/li>\n<li>Tallenna t\u00e4m\u00e4 kentt\u00e4 kommenttimenetelm\u00e4n\u00e4<\/li>\n<li>N\u00e4yt\u00e4 metakentt\u00e4 kommentin muokkauslomakkeessa (taustalla)<\/li>\n<li>Tallenna kommentti Meta (taustasta)<\/li>\n<\/ul>\n<p>T\u00e4m\u00e4n lis\u00e4ksi aion my\u00f6s n\u00e4ytt\u00e4\u00e4, kuinka kentt\u00e4 poistetaan WordPress-kommenttilomakkeesta.<\/p>\n<h3>Lis\u00e4\u00e4 kentt\u00e4 kommenttilomakkeeseen<\/h3>\n<p>Kommenttilomake render\u00f6id\u00e4\u00e4n WordPressin ydintiedostoista, eik\u00e4 meid\u00e4n pit\u00e4isi koskea ydintiedostoja. Onneksi WordPress tarjoaa koukkuja ydintoimintojen laajentamiseksi. T\u00e4m\u00e4n sanottuaan WordPress tarjoaa toimintakoukun, <code>comment_form_after_fields<\/code>jonka avulla voimme lis\u00e4t\u00e4 kentti\u00e4 kommenttilomakkeeseen.<\/p>\n<p>Lis\u00e4t\u00e4\u00e4n matkapuhelinnumero k\u00e4ytt\u00e4m\u00e4ll\u00e4 t\u00e4t\u00e4 toimintokoukkua. Lis\u00e4\u00e4 alla oleva koodi <code>functions.php<\/code>tiedostoon.<\/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>Siirry nyt verkkosivullesi ja lataa se uudelleen. Sinun pit\u00e4isi n\u00e4hd\u00e4 uusi kentt\u00e4 &quot;Matkapuhelinnumero&quot;, joka on lis\u00e4tty kommenttilomakkeeseesi.<\/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=\"Kuinka mukauttaa kommenttilomaketta WordPressiss\u00e4\" ><\/a><\/p>\n<h3>Tarkista, onko kentt\u00e4 tyhj\u00e4<\/h3>\n<p>T\u00e4m\u00e4 vaihe on valinnainen. Jos et halua pit\u00e4\u00e4 mobiilikentt\u00e4\u00e4 pakollisena, ohita t\u00e4m\u00e4 vaihe. Jos t\u00e4m\u00e4 kentt\u00e4 vaaditaan, meid\u00e4n on tarkistettava, t\u00e4yttiv\u00e4tk\u00f6 k\u00e4vij\u00e4t t\u00e4m\u00e4n kent\u00e4n vai eiv\u00e4t. Jos haluat lis\u00e4t\u00e4 n\u00e4m\u00e4 tarkastukset ajon aikana, k\u00e4yt\u00e4mme suodatinta <code>preprocess_comment<\/code>. Kun k\u00e4ytt\u00e4j\u00e4 napsauttaa L\u00e4het\u00e4-painiketta, t\u00e4m\u00e4 suodatin tarkistaa, onko tietty kentt\u00e4 tyhj\u00e4 vai ei. Jos se on tyhj\u00e4, se pys\u00e4ytt\u00e4\u00e4 suorituksen ja n\u00e4ytt\u00e4\u00e4 viestin k\u00e4ytt\u00e4jille.<\/p>\n<p>K\u00e4yt\u00e4 suodatinta <code>preprocess_comment<\/code>seuraavan koodin mukaisesti. T\u00e4m\u00e4 koodi menee my\u00f6s <code>functions.php<\/code>tiedostoon.<\/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>Tallenna uusi kentt\u00e4 kommenttia vastaan<\/h3>\n<p>Aikaisemmissa vaiheissa olemme lis\u00e4nneet uuden kent\u00e4n ja n\u00e4hneet my\u00f6s, kuinka tehd\u00e4 siit\u00e4 pakollinen. Nyt meid\u00e4n pit\u00e4isi tallentaa t\u00e4m\u00e4 kentt\u00e4 tietokantaan samaa kommenttia vastaan. T\u00e4m\u00e4n saavuttamiseksi k\u00e4yt\u00e4mme toimintoa <code>comment_post<\/code>. T\u00e4m\u00e4 toiminto antaa meille t\u00e4ll\u00e4 hetkell\u00e4 l\u00e4hetetyn kommentin tunnuksen. Kommenttitunnuksen avulla voimme tallentaa mobiilikentt\u00e4mme <code>add_comment_meta<\/code>toiminnolla.<\/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>T\u00e4ss\u00e4 olen k\u00e4ytt\u00e4nyt <code>wp_filter_nohtml_kses<\/code>toimintoa puhdistamaan sy\u00f6tetyt tiedot.<\/p>\n<h3>N\u00e4yt\u00e4 metakentt\u00e4 kommentin muokkauslomakkeessa (taustalla)<\/h3>\n<p>Toistaiseksi olemme lis\u00e4nneet uuden kent\u00e4n k\u00e4ytt\u00f6liittym\u00e4n kommenttilomakkeeseen ja tallentaneet t\u00e4m\u00e4n vasta lis\u00e4tyn kent\u00e4n. Nyt j\u00e4rjestelm\u00e4nvalvojana sinun pit\u00e4isi n\u00e4hd\u00e4 t\u00e4m\u00e4 kentt\u00e4 taustalla.<\/p>\n<p>Jos siirryt backendin kommenttiluetteloon, n\u00e4et, ett\u00e4 jokaisella kommentilla on oma muokkauslomake. T\u00e4ll\u00e4 lomakkeella j\u00e4rjestelm\u00e4nvalvoja voi muokata kommenttia. Seuraava tavoitteemme on n\u00e4ytt\u00e4\u00e4 matkapuhelinnumero t\u00e4ss\u00e4 kommentin muokkauslomakkeessa.<\/p>\n<p>T\u00e4t\u00e4 varten aion lis\u00e4t\u00e4 metakent\u00e4n, johon sijoitamme matkapuhelinnumeron. K\u00e4yt\u00e4 alla olevaa koodia, <code>functions.php<\/code>joka lis\u00e4\u00e4 metakent\u00e4n, jossa on matkapuhelinnumero.<\/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>Tallenna kommenttimeta (taustakuvasta)<\/h3>\n<p>Olemme melkein valmiit teht\u00e4v\u00e4\u00e4n. Viimeinen asia on muokata matkapuhelinnumeroa, kun j\u00e4rjestelm\u00e4nvalvoja p\u00e4ivitt\u00e4\u00e4 sen. Se voidaan tehd\u00e4 helposti <code>edit_comment<\/code>toiminnan avulla seuraavasti.<\/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>Kyse on uuden kent\u00e4n lis\u00e4\u00e4misest\u00e4 muokkaamalla kommentointilomake WordPressiss\u00e4. Katsotaan nyt, kuinka kent\u00e4t voidaan poistaa kommenttilomakkeesta.<\/p>\n<h3>Poista kentt\u00e4 WordPressin kommenttilomakkeesta<\/h3>\n<p>Kuten me kaikki tied\u00e4mme, WordPress tarjoaa muutamia kentti\u00e4 (viesti, nimi, s\u00e4hk\u00f6posti, verkkosivusto ja valintaruutu) kommenttilomakkeessa. Voit halutessasi poistaa mink\u00e4 tahansa niist\u00e4. Oletetaan, ett\u00e4 haluat poistaa verkkosivustokent\u00e4n lomakkeesta. Voimme tehd\u00e4 t\u00e4m\u00e4n k\u00e4ytt\u00e4m\u00e4ll\u00e4 suodatin comment_form_default_fields. Sinun pit\u00e4isi tiet\u00e4\u00e4 verkkosivustokent\u00e4n avain. Nyt on kysymys siit\u00e4, kuinka saada kommenttilomakekenttien avaimet.<\/p>\n<p>Teen sen kirjoittamalla kent\u00e4t nuken tekstitiedostoon.<\/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>Jos lataat nyt sivun, jolla on kommenttilomake, tiedosto <code>test.txt<\/code>luodaan juurikansioon. Minun tapauksessani t\u00e4ll\u00e4 tiedostolla on seuraava sis\u00e4lt\u00f6.<\/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>Se antaa sinulle selke\u00e4sti lomakekenttien avaimet. Verkkosivustokent\u00e4n avain on &quot;url&quot;. Joten muokkaan yll\u00e4 olevaa koodia seuraavasti, mik\u00e4 poistaa verkkosivustokent\u00e4n kommenttilomakkeesta.<\/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>Samalla menetelm\u00e4ll\u00e4 voit poistaa my\u00f6s muut kommenttilomakkeen kent\u00e4t.<\/p>\n<p>Toivon, ett\u00e4 ymm\u00e4rr\u00e4t kuinka muokata kommenttilomaketta WordPressiss\u00e4. Jaa ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.<\/p>\n<h4>Aiheeseen liittyv\u00e4t artikkelit<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/nayta-tietyn-luokan-viestit-wordpress-sivulla\/\" title=\"N\u00e4yt\u00e4 tietyn luokan viestit WordPress-sivulla\" >N\u00e4yt\u00e4 tietyn luokan viestit WordPress-sivulla<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-lisata-muurausristikon-asettelu-wordpressiin\/\" title=\"Kuinka lis\u00e4t\u00e4 muurausristikon asettelu WordPressiin\" >Kuinka lis\u00e4t\u00e4 muurausristikon asettelu WordPressiin<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-vieda-viesteja-csv-muotoon-wordpressissa\/\" title=\"Viestien vieminen CSV-muotoon WordPressiss\u00e4\" >Viestien vieminen CSV-muotoon WordPressiss\u00e4<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Haluatko muokata kommentointilomaketta WordPressiss\u00e4? T\u00e4ss\u00e4 artikkelissa tutkitaan joitain toiminto- ja suodatinkoukkuja, jotka auttavat meit\u00e4 mukauttamaan<\/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":[610],"tags":[843],"class_list":["post-25801","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/25801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=25801"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/25801\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/21625"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=25801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=25801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=25801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}