Ich habe mir den Code angesehen, aber ich konnte nicht feststellen, dass Funktionen wie the_title
the_content
the_excerpt
usw. fehlten . Ich habe ihn möglicherweise nicht richtig gelesen. Muss ich diesen Funktionen bei der Theme-Entwicklung entkommen, wie zum Beispiel:
esc_html ( the_title () )
Bearbeiten: Wie in den Antworten unten ausgeführt, ist der obige Code ungeachtet dessen falsch - der Code sollte gelesen haben
esc_html ( get_the_title () )
the_content
welchen Ausgaben HTML aus dem TinyMCE-Editor, in den Sie eingeben. Dies ist eher für Formulareingaben oder Daten reserviert, die am Frontend beispielsweise von Ihren Benutzern erstellt wurden.Antworten:
Das Escaping hängt ganz vom Kontext ab, in dem Sie die Funktionen verwenden. Was für die Anzeige in
<h1>
Tags sicher ist, ist für dasvalue
Attribut eines Eingabefelds nicht unbedingt sicher , und selbst das wäre alshref
Attributwert nicht unbedingt sicher .Kurz gesagt: Führen Sie die Desinfektion selbst durch, während Sie sie ausgeben. Obwohl im Fall
the_title ()
oderget_the_title ()
,esc_html
ist nicht notwendig, da Wordpress die folgenden Funktionen gilt:convert_chars
wptexturize
Hinweis:
the_title
druckt den Titel -esc_html ( the_title () )
funktioniert also nicht. Ebenso wirdthe_content
der Inhalt gedruckt (in jedem Fall wird erwartet, dass der Inhalt HTML anzeigt).quelle
the_title_attribute()
Ja und Nein - hängt davon ab, ob HTML in diesen Funktionen ausgegeben werden soll oder nicht. Wenn Sie beispielsweise einen Escape- Befehl ausführen
the_content()
und dieser einen<div>
Tag enthält , wird dieser Tag tatsächlich als auf der Seite ausgegeben<div>
.Übrigens, wenn Sie die Ausgabe dieser Funktionen umgehen, möchten Sie deren "get_" -Äquivalente (z.
get_the_content()
B.) verwenden, da diese Funktionen ihre Ausgabe direkt wiedergeben.quelle
Sie können einfach eine Funktion wie diese schreiben und sie mit dem Titelfilter verknüpfen :
quelle