---
title: Skriva översättningsbara PHP-funktioner för WordPress - isla Studio
url: https://isla-stud.io/sv/ratgeber/uebersetzbare-php-funktionen-fuer-wordpress-schreiben/
datum: 2023-03-21
---

# Skriva översättningsbara PHP-funktioner för WordPress

Utdrag ur WordPress utvecklarmanual:



Escaping output är processen att säkra utdata genom att ta bort oönskade data/tecken, t.ex. felaktiga HTML- eller skripttaggar. Denna mekanism bidrar till att säkerställa att data är säkrade för slutanvändaren före rendering.



WordPress innehåller många hjälpfunktioner som du kan använda för de vanligaste scenarierna.



Var uppmärksam på vad varje funktion gör, eftersom vissa tar bort HTML medan andra tillåter det. Du bör använda den funktion som är mest lämplig för det innehåll och sammanhang som du vill mata ut. Escape-funktionen ska alltid användas under utmatningen (php echo), inte före.



Escaping-funktioner i korthet







esc_attr()



Används för allt annat som skrivs ut i attributet för ett HTML-element.



esc_html()



Används alltid när ett HTML-element innehåller en sektion med data som visas (tar bort html).



esc_js()



Används för inline-javascript.



esc_textarea()



 För kodning av text för användning i ett textarea-element.



esc_url()



 Används för alla webbadresser, inklusive de som finns i src- och href-attributen i ett HTML-element.



esc_url_raw()



Används när en URL sparas i databasen eller i andra fall där icke-kodade URL:er krävs.



wp_kses()



Används för alla opålitliga HTML-element (inläggstext, kommentarstext etc.)



wp_kses_post()



Alternativ version av wp_kses(), som automatiskt tillåter allt HTML-innehåll som är tillåtet i inlägg.



wp_kses_data()



Alternativ version av wp_kses(), som endast tillåter den HTML-kod som tillåts i inläggskommentarer.



Säkerställ flerspråkighet vid escaping



Om utmatningen utförs som i följande exempel säkerställer vi att




Meningarna bibehålls (inga meningsbrytningar).



en korrekt separation säkerställs.



det är möjligt att ordna kontakt- och e-postlänkar (eller något liknande) på olika sätt i den översatta meningen.




// Exempel på webbadress (kan ha kommit från en osäker användarinmatning via ett formulär, till exempel).
$contact_url = 'https://www.example.com/contact/';
// escaping av $contact_url
$contact_url = esc_url( $contact_url );

// Exempel på e-postadress (kan ha kommit från en osäker användarinmatning via ett formulär, till exempel).
$contact_email = 'info@mydomain.com';
// escaping, sanering och döljning av $contact_email.
// Ja, du bör fortfarande rensa och undkomma e-postadressen även om du använder antispambot()-funktionen
$contact_email = esc_url( sprintf( 'mailto:%s', antispambot( sanitise_email( $contact_email ) ) ), array( 'mailto' ) );

esc_html_e( 'Kära gäst, vi kunde inte hitta någon information om din förfrågan.', 'text-domain' );
echo "<br><br>";

printf(
    esc_html__( 'Vänligen kontakta oss via vår %1$s eller via %2$s.', 'text-domain' ),
    sprintf(
        '<a href="/sv/s-2/">%s</a>',
        $contact_url,
        esc_html__( 'Kontaktsida', 'text-domän' )
        ),
    sprintf(
        '<a href="/sv/s-2/">%s</a>',
        $kontakt_email,
        esc_html__( 'E-post', 'text-domän' )
        )
    );



Detta ger översättaren två fullständiga meningar och två enskilda ord att översätta. En översättare behöver därför bara ta hand om följande enkla rader (medan CODE tar hand om resten):



esc_html_e( 'Kära gäst, vi kunde inte hitta några detaljer om din förfrågan.', 'text-domain' );
// ...
esc_html__( 'Vänligen kontakta oss via vår %1$s eller via %2$s', 'text-domain' )
// ...
esc_html__( 'Kontaktsida', 'text-domän' )
// ...
esc_html__( 'E-post', 'text-domän' )



Ytterligare information finns här: Flerspråkighet för WordPress teman (eng) och Flerspråkighet för plugins (eng)



Om du har några frågor är du välkommen att använda kommentarsfunktionen längst ner på denna sida.