Senden von Beiträgen vom Frontend - sanitieren Sie Daten
-
16-10-2019 - |
Frage
Ich habe ein Formular, mit dem ein registrierter Benutzer einen Beitrag einreicht (es handelt sich um einen benutzerdefinierten Beitragstyp - Forum verwandt), und ich verwende wp_insert_post()
So einlegen Sie es in die DB.
Nach dem, was ich in dieser Funktion gesehen habe, wird automatisch eine sanitize_post () -Funktion ausgeführt, aber ich denke, dies handelt nur mit DB -Flucht und so.
Wie bin ich also die Eingabedaten genauso abgerundet wie der WP-Admin-Editor? Ich meine, wenden Sie den KSES -Filter und alle anderen Dinge an ...
Lösung
Wenn ein Beitrag aus dem Administrator erstellt/bearbeitet wird, wird Edit_Post () aufgerufen.
Diese Funktion sammelt einfach alle $ _post -Argumente und übergibt sie an wp_update_post ().
wp_update_post () führt dann einige logische Überprüfungen durch und übergibt die Daten an wp_insert_post ().
wp_insert_post () ruft sanitize_post () auf, was die gesamte Hochleistungsentsorgung durchführt.
Also ja, wp_insert_post () ist die richtige Art, es zu tun.
Andere Tipps
Otto hat im letzten Jahr einen Blog über die Verwendung von KSEs gemacht, um zu sehen, ob das hilft.
http://ottopress.com/2010/wp-quickie-kses/