我有一个表格,允许任何注册用户提交帖子(这是自定义帖子类型 - 与论坛相关),我正在使用 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/

许可以下: CC-BY-SA归因
scroll top