2016-07-29 17 views

Antwort

7

__() ist in erster Linie für einfachen Text verwenden würde, die nicht Markup enthält, die entkam werden muss. Es unterscheidet sich von _e() darin, dass der ehemalige den übersetzten Text zurückgibt, während der letzte den übersetzten Text zurückgibt.

esc_html_e() und esc_html__() sind ähnlich, aber sie werden für Zeichenfolgen verwendet, die Markup enthalten. Sie entkommen jeweils der bereitgestellten Zeichenfolge und rufen dann ihre entsprechenden _e() oder __() Gegenstücke auf, je nachdem, welche Sie verwenden.

Escaping HTML ist erforderlich, wenn Sie Zeichenfolgen akzeptieren, die von Benutzereingaben bereitgestellt werden. XSS-Angriffe sind wahrscheinlich die häufigsten Arten von Angriffen auf Websites, die Benutzereingaben akzeptieren und auf der Seite rendern. Ein Angreifer kann problemlos <script> Tags bereitstellen und beliebiges JavaScript auf Ihrer Seite ausführen, wenn die Eingabe nicht ordnungsgemäß bereinigt oder ausgeblendet wird.

2

Genau wie der Dokumentstatus, esc_html_e() ruft eine übersetzte Zeichenfolge ab, es entgeht und Echos das Ergebnis. __()gibt eine übersetzte Zeichenfolge zurück. The source für jede dieser Funktionen macht dieses Kristall klar:

function __($text, $domain = 'default') { 
    return translate($text, $domain); 
} 

function esc_html_e($text, $domain = 'default') { 
    echo esc_html(translate($text, $domain)); 
} 
Verwandte Themen