---
title: "Übersetzbare PHP Funktionen für WordPress schreiben — isla Studio"
url: "https://isla-stud.io/es/ratgeber/uebersetzbare-php-funktionen-fuer-wordpress-schreiben/"
date: 2023-03-21
---

# Übersetzbare PHP Funktionen für WordPress schreiben

Auszug aus dem [WordPress Entwickler-Handbuch](https://developer.wordpress.org/apis/security/escaping/):

Unter *Escaping Output* versteht man die Absicherung von Ausgabedaten, indem unerwünschte Daten / Zeichen, wie z. B. fehlerhafte HTML- oder Skript-Tags, entfernt werden. Dieser Mechanismus trägt dazu bei, dass die Daten vor dem Rendern für den Endbenutzer abgesichert werden.

WordPress enthält zahlreiche Hilfsfunktionen, die Sie für die gängigsten Szenarien einsetzen können.

Achten Sie genau darauf, was die einzelnen Funktionen tun, denn einige entfernen HTML, während andere es zulassen. Sie sollten die am besten geeignete Funktion für den Inhalt und den Kontext verwenden, den Sie ausgeben wollen. Die Escape-Funktion sollte immer während der Ausgabe (php echo) verwendet werden, nicht davor.

Escaping functions im Überblick
-------------------------------

```php
esc_attr()
```

Wird für alles andere verwendet, das im Attribut eines HTML-Elements ausgegeben wird.

```php
esc_html()
```

Wird immer dann verwendet, wenn ein HTML-Element einen Abschnitt mit Daten einschließt, der angezeigt wird (entfernt html).

```php
esc_js()
```

Zu verwenden für Inline-Javascript.

```php
esc_textarea()
```

 Zur Kodierung von Text für die Verwendung in einem Textarea-Element.

```php
esc_url()
```

 Verwendung für alle URLs, einschließlich derer in den Attributen src und href eines HTML-Elements.

```php
esc_url_raw()
```

Wird verwendet, wenn eine URL in der Datenbank gespeichert wird oder in anderen Fällen, in denen nicht kodierte URLs benötigt werden.

```php
wp_kses()
```

Verwendung für alle nicht vertrauenswürdigen HTML-Elemente (Beitragstext, Kommentartext, usw.)

```php
wp_kses_post()
```

Alternative Version von wp\_kses(), die automatisch alle HTML-Inhalte zulässt, die in Beiträgen erlaubt sind.

```php
wp_kses_data()
```

Alternative Version von wp\_kses(), die nur den in Beitragskommentaren erlaubten HTML-Code zulässt.

Mehrsprachigkeit beim Escapen gewährleisten
-------------------------------------------

Wird die Ausgabe wie im nachfolgenden Beispiel durchgeführt, stellen wir sicher, dass

1. Die Sätze erhalten bleiben (keine Satzumbrüche).
2. für eine korrekte Trennung gesorgt ist.
3. die Möglichkeit geboten ist, Kontakt- und E-Mail-Links (oder etwas Ähnliches) innerhalb des übersetzten Satzes unterschiedlich anzuordnen.

```php
// Beispiel url (könnte z.B. von einer unsicheren Benutzereingabe über ein Formular gekommen sein.)
$contact_url = 'https://www.example.com/contact/';
// escaping $contact_url
$contact_url = esc_url( $contact_url );

// Beispiel E-Mail-Adresse (könnte z.B. von einer unsicheren Benutzereingabe über ein Formular gekommen sein.)
$contact_email = 'info@mydomain.com';
// escaping, sanitizing & verbergen von $contact_email.
// Ja, man sollte die E-Mail-Adress auch dann noch sanitize und escapen, wenn man die antispambot() function verwendet
$contact_email = esc_url( sprintf( 'mailto:%s', antispambot( sanitize_email( $contact_email ) ) ), array( 'mailto' ) );

esc_html_e( 'Dear guest, we were unable to find any details regarding your request.', '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>',
 $contact_email,
 esc_html__( 'E-post', 'text-domain' )
 )
    );
```

På så sätt har översättaren två fullständiga meningar och två enskilda ord att översätta. En översättare behöver alltså bara ta hand om följande enkla rader (medan KODEN sköter resten):

```php
esc_html_e( 'Dear guest, we were unable to find any details regarding your request.', 'text-domain' );
// ...
esc_html__( 'Please contact us through our %1$s or via %2$s', 'text-domain' )
// ...
esc_html__( 'Contact Page', 'text-domain' )
// ...
esc_html__( 'E-post', 'text-domain' )
```

Mer information hittar du här: [Flerspråkighet för WordPress-teman (eng)](https://developer.wordpress.org/themes/functionality/internationalization/) och [Flerspråkighet för plugins (eng)](https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/)

Om du har frågor är du som alltid välkommen att använda kommentarfunktionen längre ner på denna sida.