J'ai un formulaire qui permet à tout utilisateur enregistré de soumettre un message (c'est un type de message personnalisé - lié au forum), et j'utilise wp_insert_post()
pour l'insérer. dans la base de données.
D'après ce que j'ai vu dans cette fonction, une fonction sanitize_post () est lancée automatiquement, mais je pense que cela ne gère que les échappements de base de données, etc.
Alors, comment puis-je nettoyer les données d'entrée de la même manière que l'éditeur wp-admin? Je veux dire appliquer le filtre kses et tous les autres trucs ...
Lorsqu'une publication est créée/modifiée à partir de l'administrateur, edit_post () est appelé.
Cette fonction collecte simplement tous les arguments $ _POST et les transmet à wp_update_post ().
wp_update_post () effectue quelques vérifications logiques supplémentaires et transmet les données à wp_insert_post ().
wp_insert_post () appelle sanitize_post (), qui effectue toutes les tâches de nettoyage lourdes.
Donc, oui, wp_insert_post () est la bonne façon de procéder.
Otto a fait un blog sur l’utilisation de kses l’année dernière, voyez si cela aide.
http://ottopress.com/2010/wp-quickie-kses/