Wordpress wp_insert_post函数

问题描述:

我正在写一个php程序来插入一个wordpress函数的wordpress文章。当我使用功能wp_insert_post()时,我的帖子内容中的任何<script>标签都将被删除。有没有办法在Wordpress中覆盖这个?Wordpress wp_insert_post函数

+0

在我的任何内容SCRIPT标签被删除。 – M99 2011-03-17 02:36:41

+0

这可能是一件安全的事情。 – alex 2011-03-17 02:39:32

+0

我使用解决方法修复了它。我最终用SHORT CODE在我的主题中编写了一个函数,并在发布帖子时使用了Short代码。在渲染时,SHORT CODE被替换为脚本。 – M99 2011-03-19 16:39:56

pp19dd的解决方案不再适用于较新版本的WordPress。正如WordPress开发人员建议的那样(但不推荐,因为安全问题):

由于安全问题,过滤器必须取消设置。如果您试图避免过滤post字段的kses过滤,则可以在插入帖子之前尝试执行kses_remove_filters(),然后再插入帖子和kses_init_filters()。只是要小心,因为这大部分插入帖子的安全措施都失败了。

所以:

kses_remove_filters(); 
wp_insert_post($postdata); 
kses_init_filters(); 

来源:https://wordpress.org/support/topic/bypass-sanitize_post-from-wp_insert_post