wp_update_comment()丢失了html标签

时间:2016-02-26 15:07:53

标签: php html wordpress tags comments

我已经为Wordpress网站完成了一个自定义评论表单,用户可以添加评论。我设法允许这些评论比默认评论更多的html标签。发布新评论时,标签工作得很好,但是当评论更新时,它会丢失所有这些额外允许的标签。

为了更新评论,我正在使用wp_update_comment() - 方法。我搜索了一下,但还没有找到解决方案。我将评论的ID和评论的内容作为方法的参数传递。

所以我基本上要问的是,我可以使用这种方法来完成我想要做的事情吗?或者我应该删除评论并在其中创建一个新评论吗?

2 个答案:

答案 0 :(得分:1)

这是因为wp_filter_comment调用pre_comment_content函数,并且使用wp_filter_kses过滤器过滤内容。 WP将remove_filter('pre_comment_content', 'wp_filter_kses'); 函数插入此过滤器,因此使用

wp_update_comment()
在致电java.lang.NoSuchMethodException: No setter for property 'datasource' 之前

应解决您的问题。请记住,你必须以某种方式过滤发送的评论以避免安全问题,好吗?

答案 1 :(得分:0)

查看wp_update_comment()的来源,看起来它在更新数据库之前清除了注释。您可能必须为此编写自己的函数来解决它。