{"id":26736,"date":"2021-04-27T13:17:00","date_gmt":"2021-04-27T10:17:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26736"},"modified":"2021-10-17T05:35:13","modified_gmt":"2021-10-17T02:35:13","slug":"en-guide-om-hur-du-forbattrar-wordpress-kodningsstandarder","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/en-guide-om-hur-du-forbattrar-wordpress-kodningsstandarder\/","title":{"rendered":"En guide om hur du f\u00f6rb\u00e4ttrar WordPress-kodningsstandarder"},"content":{"rendered":"<p>Om du \u00e4r utvecklare letar du definitivt efter f\u00f6r att f\u00f6rb\u00e4ttra dina kodningsstandarder. Varje programmeringsspr\u00e5k och deras CMS \/ Frameworks har satt upp sina egna standarder f\u00f6r kodning. I den h\u00e4r artikeln studerar vi hur vi kan f\u00f6rb\u00e4ttra WordPress-kodningsstandarder.<\/p>\n<p>Vi har skrivit en artikel om att <a href=\"https:\/\/themewp.inform.click\/sv\/php_codesniffer-ett-bibliotek-for-att-forbattra-dina-php-kodningsstandarder\/\" title=\"f\u00f6rb\u00e4ttra PHP-kodningsstandarder\" >f\u00f6rb\u00e4ttra PHP-kodningsstandarder<\/a>. Du b\u00f6r f\u00f6rst kontrollera den h\u00e4r artikeln innan du forts\u00e4tter f\u00f6r kodningsstandarder f\u00f6r WordPress-utveckling.<\/p>\n<h3>Fel vi g\u00f6r under WordPress-programmering<\/h3>\n<p>Varje utvecklingsarbete har olika l\u00f6sningar. F\u00f6rmodligen implementerar varje utvecklare olika s\u00e4tt \/ logik f\u00f6r att ge samma resultat. Det \u00e4r naturligt i programmeringsv\u00e4rlden.<\/p>\n<p>L\u00e5t oss till exempel s\u00e4ga att vi har lagt till nonce i v\u00e5rt registreringsformul\u00e4r f\u00f6r att undvika CSRF-attacker.<\/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>N\u00e4r vi skickar in ett formul\u00e4r m\u00e5ste vi verifiera om nonce \u00e4r korrekt eller inte. Normalt g\u00f6r en utvecklare som inte k\u00e4nner till kodningsstandarderna det p\u00e5 f\u00f6ljande s\u00e4tt.<\/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>Det finns inget fel i ovanst\u00e5ende kod. Men det \u00e4r inte en bra praxis. N\u00e4r vi h\u00e4mtar textf\u00e4ltv\u00e4rden b\u00f6r vi anv\u00e4nda <code>sanitize_text_field()<\/code>och <code>wp_unslash()<\/code>fungera p\u00e5 inmatningsf\u00e4ltets v\u00e4rden.<\/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> metoden g\u00f6r f\u00f6ljande i bakgrunden.<\/p>\n<ul>\n<li>Kontrollerar om ogiltig UTF-8<\/li>\n<li>Konverterar enstaka &lt;tecken till enhet<\/li>\n<li>Stripar alla taggar<\/li>\n<li>Ta bort radbrytningar, flikar och extra vitt utrymme<\/li>\n<li>Strip oktetter<\/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> metoden tar bort snedstreck fr\u00e5n en str\u00e4ng eller en rad str\u00e4ngar.<\/p>\n<p>Med detta sagt b\u00f6r v\u00e5r tidigare kod gilla nedan.<\/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>Detta \u00e4r ett exempel. Det finns flera andra misstag vi g\u00f6r i v\u00e5r WordPress-programmering.<\/p>\n<h3>Installera 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\">Detta bibliotek<\/a> hj\u00e4lper oss att f\u00f6rb\u00e4ttra v\u00e5ra kodningsstandarder i WordPress-utvecklingen och etablera oss som en b\u00e4ttre WordPress-utvecklare.<\/p>\n<p>F\u00f6r att installera detta bibliotek \u00f6ppnar du kommandotolken i root-katalogen f\u00f6r ett projekt och k\u00f6r kommandot nedan.<\/p>\n<p><code>composer create-project wp-coding-standards\/wpcs --no-dev<\/code><\/p>\n<p><strong>Obs!<\/strong> Du b\u00f6r ha en <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">komposit\u00f6r<\/a> installerad i ditt system f\u00f6r att k\u00f6ra kommandot ovan.<\/p>\n<p>Efter att ha k\u00f6rt kommandot kommer det att skapa en mapp som heter &#8217;wpcs&#8217; i din projektkatalog.<\/p>\n<p>Vi antar att du har l\u00e4st v\u00e5r artikel om <a href=\"https:\/\/themewp.inform.click\/sv\/php_codesniffer-ett-bibliotek-for-att-forbattra-dina-php-kodningsstandarder\/\" title=\"f\u00f6rb\u00e4ttring av PHP-kodningsstandarder\">f\u00f6rb\u00e4ttring av PHP-kodningsstandarder<\/a> och att du har installerat PHP_CodeSniffer-biblioteket i mappen &#8217;php_codesniffer&#8217; i projektets rotkatalog.<\/p>\n<p>D\u00e4refter m\u00e5ste vi registrera WordPress-standarder i PHP_CodeSniffer-konfiguration. \u00d6ppna kommandotolken under &#8217;php_codesniffer \/ vendor \/ bin&#8217; och k\u00f6r kommandot nedan.<\/p>\n<p><code>phpcs --config-set installed_paths \/path\/to\/wpcs<\/code><\/p>\n<p>Byt ut &#8217;\/ path \/ to \/ wpcs&#8217; med din s\u00f6kv\u00e4g. I v\u00e5rt fall p\u00e5 Windows-plattformen skriver vi kommandot enligt f\u00f6ljande.<\/p>\n<p><code>phpcs --config-set installed_paths D:wampwwwwp1wpcs<\/code><\/p>\n<h3>L\u00e5t oss ta reda p\u00e5 v\u00e5ra misstag och f\u00f6rb\u00e4ttra WordPress-kodningsstandarder<\/h3>\n<p>Vi har best\u00e4mt oss f\u00f6r v\u00e5rt bibliotek. Nu \u00e4r det dags att hitta v\u00e5ra misstag och undvika det n\u00e4sta g\u00e5ng.<\/p>\n<p>L\u00e5t oss s\u00e4ga att vi har skapat ett plugin &#8217;test-plugin&#8217; och vi m\u00e5ste validera en fil som heter &#8217;core.php&#8217;.<\/p>\n<p>\u00d6ppna kommandotolken under katalogen &#8217;wpcs \/ vendor \/ bin&#8217; och k\u00f6r kommandot nedan.<\/p>\n<p><code>phpcs --standard=WordPress D:wampwwwwp1wp-contentpluginstest-plugincore.php<\/code><\/p>\n<p>N\u00e4r du har k\u00f6rt kommandot kommer du att fr\u00e5ga med fel och varningar. Alla dessa fel och varningar visas eftersom vi inte har f\u00f6ljt standardkodningsmetoderna f\u00f6r WordPress-utveckling.<\/p>\n<p>En bra del \u00e4r att vi f\u00e5r en detaljerad rapport om linjenumren och hur man r\u00e4ttar till det specifika felet. Vi beh\u00f6ver bara titta p\u00e5 riktlinjer och korrigera felen en efter en.<\/p>\n<p><code>phpcbf<\/code> kommandot kan ocks\u00e5 korrigera n\u00e5gra mindre fel som indrag, mellanslag etc.<\/p>\n<p><code>phpcbf --standard=WordPress D:wampwwwwp1wp-contentpluginstest-plugincore.php<\/code><\/p>\n<p>Vi hoppas att du f\u00f6rst\u00e5r hur du anv\u00e4nder WordPress-kodningsstandardbiblioteket f\u00f6r att f\u00f6rb\u00e4ttra WordPress-kodningsstandarderna. Om du har n\u00e5gra fr\u00e5gor eller f\u00f6rslag, v\u00e4nligen l\u00e4mna en kommentar nedan.<\/p>\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 f\u00f6rb\u00e4ttra dina WordPress-kodningsstandarder? I den h\u00e4r artikeln visar vi dig hur du f\u00e5r reda p\u00e5 kodningsfel i v\u00e5r WordPress-programmering och<\/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":[418,614],"tags":[850],"class_list":["post-26736","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diverse","category-uncategorized-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/26736","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=26736"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/26736\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/21633"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=26736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=26736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=26736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}