{"id":23342,"date":"2021-04-27T13:23:00","date_gmt":"2021-04-27T10:23:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23342"},"modified":"2021-10-17T21:38:47","modified_gmt":"2021-10-17T18:38:47","slug":"opas-wordpress-koodausstandardien-parantamiseen","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/opas-wordpress-koodausstandardien-parantamiseen\/","title":{"rendered":"Opas WordPress-koodausstandardien parantamiseen"},"content":{"rendered":"<p>Jos olet kehitt\u00e4j\u00e4, etsit varmasti parantamaan koodausstandardejasi. Jokainen ohjelmointikieli ja CMS \/ Framework ovat asettaneet omat standardinsa koodausta varten. T\u00e4ss\u00e4 artikkelissa tutkitaan, kuinka parantaa WordPress-koodausstandardeja.<\/p>\n<p>Olemme kirjoittaneet artikkelin <a href=\"https:\/\/themewp.inform.click\/fi\/php_codesniffer-kirjasto-php-koodausstandardien-parantamiseen\/\" title=\"PHP-koodausstandardien parantamisesta\">PHP-koodausstandardien parantamisesta<\/a>. Tarkista ensin t\u00e4m\u00e4 artikkeli, ennen kuin etsit koodausstandardeja WordPress-kehitykseen.<\/p>\n<h3>Virheet, joita teemme WordPress-ohjelmoinnin aikana<\/h3>\n<p>Jokaisella kehitysty\u00f6ll\u00e4 on erilaisia \u200b\u200bratkaisuja. Todenn\u00e4k\u00f6isesti kukin kehitt\u00e4j\u00e4 toteuttaa eri tavan \/ logiikan saman tuotoksen tuottamiseksi. Se on luonnollista ohjelmointimaailmassa.<\/p>\n<p>Oletetaan esimerkiksi, ett\u00e4 olemme lis\u00e4nneet rekister\u00f6intilomakkeeseemme nonce v\u00e4ltt\u00e4\u00e4ksemme CSRF-hy\u00f6kk\u00e4ykset.<\/p>\n<pre><code>&lt;form method=\"post\"&gt;\n&lt;?php wp_nonce_field( 'signup_nonce', 'signup_form_nonce' ); ?&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Lomaketta l\u00e4hetett\u00e4ess\u00e4 meid\u00e4n on tarkistettava, onko nonce oikea vai ei. Tavallisesti kehitt\u00e4j\u00e4, joka ei tied\u00e4 koodausstandardeista, tekee sen seuraavalla tavalla.<\/p>\n<pre><code>&lt;?php\nif (! isset( $_POST['signup_form_nonce']) ||! wp_verify_nonce( $_POST['signup_form_nonce'], 'signup_nonce')) {\n\u00a0\n\u00a0\u00a0\u00a0print 'Sorry, your nonce did not verify.';\n\u00a0\u00a0\u00a0exit;\n\u00a0\n} else {\n\u00a0\n\u00a0\u00a0\u00a0\/\/ process form data\n}\n?&gt;<\/code><\/pre>\n<p>Yll\u00e4 olevassa koodissa ei ole mit\u00e4\u00e4n vikaa. Mutta se ei ole hyv\u00e4 k\u00e4yt\u00e4nt\u00f6. Kun haemme tekstikent\u00e4n arvoja, meid\u00e4n tulisi k\u00e4ytt\u00e4\u00e4 <code>sanitize_text_field()<\/code>ja <code>wp_unslash()<\/code>toimia sy\u00f6tekent\u00e4n arvoissa.<\/p>\n<p><a href=\"https:\/\/codex.wordpress.org\/Validating_Sanitizing_and_Escaping_User_Data\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sanitize_text_field-<\/a> menetelm\u00e4 tekee seuraavan prosessin taustalla.<\/p>\n<ul>\n<li>Tarkistaa virheellisen UTF-8: n<\/li>\n<li>Muuntaa yksitt\u00e4iset &lt;merkit kokonaisuudeksi<\/li>\n<li>Kaistaleet kaikki tunnisteet<\/li>\n<li>Poista rivinvaihdot, kielekkeet ja ylim\u00e4\u00e4r\u00e4inen v\u00e4lily\u00f6nti<\/li>\n<li>Nauhan oktetit<\/li>\n<\/ul>\n<p><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_unslash\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_unsplash-<\/a> menetelm\u00e4 poistaa kauttaviivat merkkijonosta tai merkkijonosta.<\/p>\n<p>T\u00e4m\u00e4n sanottuamme edellisen koodin pit\u00e4isi olla alla.<\/p>\n<pre><code>&lt;?php\nif (! isset( $_POST['signup_form_nonce']) ||! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['signup_form_nonce']) ), 'signup_nonce')) {\n\u00a0\n\u00a0\u00a0\u00a0print 'Sorry, your nonce did not verify.';\n\u00a0\u00a0\u00a0exit;\n\u00a0\n} else {\n\u00a0\n\u00a0\u00a0\u00a0\/\/ process form data\n}\n?&gt;<\/code><\/pre>\n<p>T\u00e4m\u00e4 on yksi esimerkki. WordPress-ohjelmoinnissamme on useita muita virheit\u00e4.<\/p>\n<h3>Asenna WordPress Coding Standards Library<\/h3>\n<p><a href=\"https:\/\/github.com\/WordPress-Coding-Standards\/WordPress-Coding-Standards\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">T\u00e4m\u00e4 kirjasto<\/a> auttaa meit\u00e4 parantamaan koodausstandardiamme WordPress-kehityksess\u00e4 ja vakiinnuttamaan meid\u00e4t paremmaksi WordPress-kehitt\u00e4j\u00e4ksi.<\/p>\n<p>Asentaaksesi t\u00e4m\u00e4n kirjaston, avaa komentokehote projektin juurihakemistossa ja suorita alla oleva komento.<\/p>\n<p><code>composer create-project wp-coding-standards\/wpcs --no-dev<\/code><\/p>\n<p><strong>Huomaa:<\/strong> J\u00e4rjestelm\u00e4\u00e4n tulisi olla asennettuna <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">s\u00e4velt\u00e4j\u00e4<\/a> yll\u00e4 olevan komennon suorittamiseksi.<\/p>\n<p>Komennon suorittamisen j\u00e4lkeen se luo kansion nimelt\u00e4 wpcs projektin juurihakemistoon.<\/p>\n<p>Oletamme, ett\u00e4 olet lukenut artikkelimme <a href=\"https:\/\/themewp.inform.click\/fi\/php_codesniffer-kirjasto-php-koodausstandardien-parantamiseen\/\" title=\"PHP-koodausstandardien parantamisesta\">PHP-koodausstandardien parantamisesta<\/a> ja olet asentanut PHP_CodeSniffer-kirjaston php_codesniffer-kansioon projektin juurihakemistoon.<\/p>\n<p>Seuraavaksi meid\u00e4n on rekister\u00f6it\u00e4v\u00e4 WordPress-standardit PHP_CodeSniffer-kokoonpanoon. Avaa komentokehote kohdassa &#8217;php_codesniffer \/ vendor \/ bin&#8217; ja suorita alla oleva komento.<\/p>\n<p><code>phpcs --config-set installed_paths \/path\/to\/wpcs<\/code><\/p>\n<p>Korvaa &#8217;\/ path \/ to \/ wpcs&#8217; polkusi kanssa. Meid\u00e4n tapauksessamme Windows-alustalle kirjoitamme komennon seuraavasti.<\/p>\n<p><code>phpcs --config-set installed_paths D:wampwwwwp1wpcs<\/code><\/p>\n<h3>Selvitet\u00e4\u00e4n virheemme ja parannetaan WordPress-koodausstandardeja<\/h3>\n<p>Olemme asettaneet kirjastomme kanssa. Nyt on aika l\u00f6yt\u00e4\u00e4 virheemme ja v\u00e4ltt\u00e4\u00e4 se seuraavalla kerralla.<\/p>\n<p>Oletetaan, ett\u00e4 olemme luoneet laajennuksen &#8217;test-plugin&#8217; ja meid\u00e4n on vahvistettava tiedosto nimelt\u00e4 &#8217;core.php&#8217;.<\/p>\n<p>Avaa komentokehote hakemiston &#8217;wpcs \/ vendor \/ bin&#8217; alla ja suorita alla oleva komento.<\/p>\n<p><code>phpcs --standard=WordPress D:wampwwwwp1wp-contentpluginstest-plugincore.php<\/code><\/p>\n<p>Komennon suorittamisen j\u00e4lkeen pyyd\u00e4t virheit\u00e4 ja varoituksia. Kaikki n\u00e4m\u00e4 virheet ja varoitukset n\u00e4kyv\u00e4t, koska emme ole noudattaneet WordPress-kehityksen tavanomaisia \u200b\u200bkoodausk\u00e4yt\u00e4nt\u00f6j\u00e4.<\/p>\n<p>Hyv\u00e4 osa on, ett\u00e4 saamme yksityiskohtaisen raportin rivinumeroista ja kuinka korjata kyseinen virhe. Meid\u00e4n on vain tutkittava ohjeita ja korjattava virheet yksitellen.<\/p>\n<p><code>phpcbf<\/code> komento voi my\u00f6s korjata pieni\u00e4 virheit\u00e4, kuten sisennys, v\u00e4lily\u00f6nnit jne.<\/p>\n<p><code>phpcbf --standard=WordPress D:wampwwwwp1wp-contentpluginstest-plugincore.php<\/code><\/p>\n<p>Toivomme, ett\u00e4 ymm\u00e4rr\u00e4t, kuinka voit k\u00e4ytt\u00e4\u00e4 WordPress-koodausstandardikirjastoa WordPress-koodausstandardien parantamiseen. Jos sinulla on kysytt\u00e4v\u00e4\u00e4 tai ehdotuksia, j\u00e4t\u00e4 kommentti alla.<\/p>\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 parantaa WordPress-koodausstandardejasi? T\u00e4ss\u00e4 artikkelissa n\u00e4yt\u00e4mme, kuinka voit l\u00f6yt\u00e4\u00e4 koodausstandardivirheet WordPress-ohjelmoinnissamme ja<\/p>\n","protected":false},"author":1,"featured_media":21633,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[414,610],"tags":[843],"class_list":["post-23342","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sekalaisia","category-uncategorized-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/23342","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=23342"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/23342\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/21633"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=23342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=23342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=23342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}