{"id":2942,"date":"2023-03-21T13:59:01","date_gmt":"2023-03-21T12:59:01","guid":{"rendered":"https:\/\/www.saskialund.de\/?p=2942"},"modified":"2023-11-21T12:24:38","modified_gmt":"2023-11-21T11:24:38","slug":"skriva-oeversaettningsbara-php-funktioner-foer-wordpress","status":"publish","type":"post","link":"https:\/\/isla-stud.io\/sv\/ratgeber\/uebersetzbare-php-funktionen-fuer-wordpress-schreiben\/","title":{"rendered":"Skriva \u00f6vers\u00e4ttningsbara PHP-funktioner f\u00f6r WordPress"},"content":{"rendered":"<p>Utdrag ur <a href=\"https:\/\/developer.wordpress.org\/apis\/security\/escaping\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Handbok f\u00f6r WordPress-utvecklare<\/a>:<\/p>\n\n\n\n<p>Under <em>Undanflyende utmatning <\/em>\u00e4r att skydda utdata genom att ta bort o\u00f6nskade data\/tecken, t.ex. felaktiga HTML- eller skripttaggar. Denna mekanism bidrar till att s\u00e4kerst\u00e4lla att data \u00e4r s\u00e4krade f\u00f6r slutanv\u00e4ndaren f\u00f6re rendering.<\/p>\n\n\n\n<p>WordPress inneh\u00e5ller m\u00e5nga hj\u00e4lpfunktioner som du kan anv\u00e4nda f\u00f6r de vanligaste scenarierna.<\/p>\n\n\n\n<p>Var noga med vad varje funktion g\u00f6r, eftersom vissa tar bort HTML medan andra till\u00e5ter det. Du b\u00f6r anv\u00e4nda den funktion som \u00e4r l\u00e4mpligast f\u00f6r det inneh\u00e5ll och sammanhang som du vill mata ut. Escape-funktionen ska alltid anv\u00e4ndas under utmatningen (php echo), inte f\u00f6re.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Utrymningsfunktioner i \u00f6verblick<\/h2>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">esc_attr()<\/code><\/pre>\n\n\n\n<p>Anv\u00e4nds f\u00f6r allt annat som skrivs ut i attributet f\u00f6r ett HTML-element. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">esc_html()<\/code><\/pre>\n\n\n\n<p>Anv\u00e4nds alltid n\u00e4r ett HTML-element inneh\u00e5ller en sektion med data som visas (tar bort html).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">esc_js()<\/code><\/pre>\n\n\n\n<p>Anv\u00e4nds f\u00f6r inline-javascript.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">esc_textarea()<\/code><\/pre>\n\n\n\n<p> F\u00f6r kodning av text som ska anv\u00e4ndas i ett textarea-element.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">esc_url()<\/code><\/pre>\n\n\n\n<p> Anv\u00e4nds f\u00f6r alla webbadresser, inklusive de som finns i src- och href-attributen i ett HTML-element.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">esc_url_raw()<\/code><\/pre>\n\n\n\n<p>Anv\u00e4nds n\u00e4r en URL lagras i databasen eller i andra fall d\u00e4r okodade URL:er kr\u00e4vs.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">wp_kses()<\/code><\/pre>\n\n\n\n<p>Anv\u00e4nds f\u00f6r alla op\u00e5litliga HTML-element (inl\u00e4ggstext, kommentarstext etc.)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">wp_kses_post()<\/code><\/pre>\n\n\n\n<p>Alternativ version av wp_kses(), som automatiskt till\u00e5ter allt HTML-inneh\u00e5ll som \u00e4r till\u00e5tet i inl\u00e4gg.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">wp_kses_data()<\/code><\/pre>\n\n\n\n<p>Alternativ version av wp_kses(), som endast till\u00e5ter den HTML-kod som till\u00e5ts i inl\u00e4ggskommentarer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">S\u00e4kerst\u00e4ll flerspr\u00e5kighet n\u00e4r du flyr<\/h2>\n\n\n\n<p>Om utmatningen utf\u00f6rs som i f\u00f6ljande exempel s\u00e4kerst\u00e4ller vi att<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Meningarna f\u00f6rblir intakta (inga meningsbrytningar).<\/li>\n\n\n\n<li>korrekt separation s\u00e4kerst\u00e4lls.<\/li>\n\n\n\n<li>m\u00f6jlighet att ordna kontakt- och e-postl\u00e4nkar (eller n\u00e5got liknande) p\u00e5 olika s\u00e4tt i den \u00f6versatta meningen.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"php\" class=\"language-php\">\/\/ Exempel p&aring; webbadress (kan ha kommit fr&aring;n en os&auml;ker anv&auml;ndarinmatning via ett formul&auml;r, till exempel).\n$contact_url = &#039;https:\/\/www.example.com\/contact\/&#039;;\n\/\/ escaping av $contact_url\n$contact_url = esc_url( $contact_url );\n\n\/\/ Exempel p&aring; e-postadress (kan ha kommit fr&aring;n en os&auml;ker anv&auml;ndarinmatning via ett formul&auml;r, till exempel).\n$contact_email = &#039;info@mydomain.com&#039;;\n\/\/ escaping, sanitizing &amp;amp; hiding av $contact_email.\n\/\/ Ja, du b&ouml;r fortfarande rensa och undkomma e-postadressen &auml;ven om du anv&auml;nder funktionen antispambot()\n$contact_email = esc_url( sprintf( &#039;mailto:%s&#039;, antispambot( sanitise_email( $contact_email ) ) ), array( &#039;mailto&#039; ) );\n\nesc_html_e( &#039;K&auml;ra g&auml;st, vi kunde inte hitta n&aring;gon information om din f&ouml;rfr&aring;gan.&#039;, &#039;text-domain&#039; );\necho &quot;&lt;br&gt;&lt;br&gt;&quot;;\n\nprintf(\n    esc_html__( &#039;V&auml;nligen kontakta oss via v&aring;r %1$s eller via %2$s.&#039;, &#039;text-domain&#039; ),\n    sprintf(\n        &#039;&lt;a href=&quot;\/sv\/%s\/&quot;&gt;%s&lt;\/a&gt;&#039;,\n        $contact_url,\n        esc_html__( &#039;Kontaktsida&#039;, &#039;text-dom&auml;n&#039; )\n        ),\n    sprintf(\n        &#039;&lt;a href=&quot;\/sv\/%s\/&quot;&gt;%s&lt;\/a&gt;&#039;,\n        $kontakt_email,\n        esc_html__( &#039;E-post&#039;, &#039;text-dom&auml;n&#039; )\n        )\n    );<\/code><\/pre>\n\n\n\n<p>Detta ger \u00f6vers\u00e4ttaren tv\u00e5 fullst\u00e4ndiga meningar och tv\u00e5 enskilda ord att \u00f6vers\u00e4tta. En \u00f6vers\u00e4ttare beh\u00f6ver d\u00e4rf\u00f6r bara ta hand om f\u00f6ljande enkla rader (medan CODE tar hand om resten):<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"php\" class=\"language-php\">esc_html_e( 'K\u00e4ra g\u00e4st, vi kunde inte hitta n\u00e5gon information om din f\u00f6rfr\u00e5gan.', 'text-domain' );\n\/\/ ...\nesc_html__( 'V\u00e4nligen kontakta oss via v\u00e5r %1$s eller via %2$s', 'text-domain' )\n\/\/ ...\nesc_html__( 'Kontaktsida', 'text-dom\u00e4n' )\n\/\/ ...\nesc_html__( 'E-post', 'text-dom\u00e4n' )<\/code><\/pre>\n\n\n\n<p class=\"has-small-font-size\">Ytterligare information finns h\u00e4r: <a href=\"https:\/\/developer.wordpress.org\/themes\/functionality\/internationalization\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Flerspr\u00e5kighet f\u00f6r WordPress teman (eng)<\/a> och <a href=\"https:\/\/developer.wordpress.org\/plugins\/internationalization\/how-to-internationalize-your-plugin\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Flerspr\u00e5kighet f\u00f6r insticksprogram (eng)<\/a><\/p>\n\n\n\n<p>Om du har n\u00e5gra fr\u00e5gor \u00e4r du v\u00e4lkommen att anv\u00e4nda kommentarsfunktionen l\u00e4ngst ned p\u00e5 denna sida.<\/p>","protected":false},"excerpt":{"rendered":"<p>H\u00e4r hittar du anv\u00e4ndbara PHP-snuttar f\u00f6r att skriva ut texter som kan \u00f6vers\u00e4ttas i WordPress och f\u00f6r att skapa flerspr\u00e5kiga teman och plugins f\u00f6r WordPress.<\/p>","protected":false},"author":1,"featured_media":2956,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[13,644,20],"tags":[],"dipi_cpt_category":[],"class_list":["post-2942","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ratgeber","category-code-snippets","category-tipps-tricks"],"acf":[],"_links":{"self":[{"href":"https:\/\/isla-stud.io\/sv\/wp-json\/wp\/v2\/posts\/2942","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/isla-stud.io\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/isla-stud.io\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/isla-stud.io\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/isla-stud.io\/sv\/wp-json\/wp\/v2\/comments?post=2942"}],"version-history":[{"count":2,"href":"https:\/\/isla-stud.io\/sv\/wp-json\/wp\/v2\/posts\/2942\/revisions"}],"predecessor-version":[{"id":3109,"href":"https:\/\/isla-stud.io\/sv\/wp-json\/wp\/v2\/posts\/2942\/revisions\/3109"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/isla-stud.io\/sv\/wp-json\/wp\/v2\/media\/2956"}],"wp:attachment":[{"href":"https:\/\/isla-stud.io\/sv\/wp-json\/wp\/v2\/media?parent=2942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/isla-stud.io\/sv\/wp-json\/wp\/v2\/categories?post=2942"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/isla-stud.io\/sv\/wp-json\/wp\/v2\/tags?post=2942"},{"taxonomy":"dipi_cpt_category","embeddable":true,"href":"https:\/\/isla-stud.io\/sv\/wp-json\/wp\/v2\/dipi_cpt_category?post=2942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}