Invio messaggi dal front-end - i dati di sanificazione
-
16-10-2019 - |
Domanda
Ho una forma che permette a qualsiasi utente registrato di presentare un post (si tratta di un tipo di messaggio personalizzato - legati forum), e sto usando wp_insert_post()
per inserirla nel db.
Da quello che ho visto in questa funzione di una funzione sanitize_post () viene eseguito automaticamente, ma penso che questo solo gestisce DB fuggire e così via.
Quindi, come faccio a disinfettare i dati di input nello stesso modo come l'editor wp-admin fa? Voglio dire applicare il filtro KSES e tutte le altre cose ...
Soluzione
Quando si crea un post / modificato da admin, edit_post () viene chiamato.
Questa funzione raccoglie semplicemente tutti gli argomenti $ _POST e li passa a wp_update_post ().
wp_update_post () poi fa alcuni controlli più logici e passa i dati insieme a wp_insert_post ().
wp_insert_post () chiama sanitize_post (), che fa tutto il sanificazione pesanti.
Quindi, sì, wp_insert_post () è il modo corretto per farlo.
Altri suggerimenti
Otto ha fatto un blog sull'utilizzo KSES scorso anno, vedere se questo aiuta.
http://ottopress.com/2010/wp-quickie-kses/