Question

J'ai une forme qui permet à tout utilisateur enregistré de soumettre un poste (c'est un type de poste personnalisé - forum lié), et j'utilise wp_insert_post() pour l'insérer dans la db.

D'après ce que j'ai vu dans cette fonction une fonction sanitize_post () est exécuté automatiquement, mais je pense que cela ne poignées db échapper et tel.

Alors, comment puis-je Désinfectez les données d'entrée de la même façon que l'éditeur wp-admin fait? Je veux dire appliquer le filtre kses et tous les autres trucs ...

Était-ce utile?

La solution

Quand un poste est créé / modifié depuis l'admin, edit_post () est appelée.

Cette fonction recueille simplement tous les arguments $ _POST et les transmet à wp_update_post ().

wp_update_post () fait ensuite certaines vérifications logiques et transmet les données le long de wp_insert_post ().

wp_insert_post () appelle sanitize_post (), qui fait tout le droit lourd aseptisation.

Alors, oui, wp_insert_post () la bonne façon de le faire.

Autres conseils

Otto a fait un blog sur l'utilisation kses l'an dernier, voir si cela aide.
http://ottopress.com/2010/wp-quickie-kses/

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top