从前端提交帖子 - 消毒数据
-
16-10-2019 - |
题
我有一个表格,允许任何注册用户提交帖子(这是自定义帖子类型 - 与论坛相关),我正在使用 wp_insert_post()
将其插入DB。
从我在此函数中看到的sanitize_post()函数是自动运行的,但我认为这只能处理db逃脱等等。
那么,如何以与WP-Admin编辑器相同的方式对输入数据进行消毒?我的意思是应用KSES过滤器和所有其他内容...
解决方案
当从管理员创建/编辑帖子时,调用edit_post()。
此函数只需收集所有$ _post参数,然后将它们传递给wp_update_post()。
然后WP_UPDATE_POST()然后进行一些更逻辑的检查,然后将数据传递到WP_INSERT_POST()。
WP_INSERT_POST()调用Sanitize_post(),它可以完成所有重型消毒。
所以,是的,wp_insert_post() 是 正确的方法。
其他提示
奥托(Otto)在去年使用KSE的博客进行了博客,看看是否有帮助。
http://ottopress.com/2010/wp-quickie-kses/