停止过滤WordPress函数wp_insert_post

 黄力2502860237_367 发布于 2023-02-12 14:25

我必须对WordPress中构建的网站进行一些小的更改,我遇到了一些wp_insert_content函数的问题.此函数对输入进行了清理,将一些HTML标记完全取出(如)并删除其他标记.我想关闭它,并在任何地方找到http://pp19dd.com/2010/06/unfiltered-wp_insert_post/的链接,其中解决方案是添加

'filter' => true

到帖子输入数组.

这篇文章是从2010年开始的,我从2011年发现了额外的一行(http://web.archiveorange.com/archive/v/TDTh42SUwDEc1GFmSrvU).这一行写道:

unset( $postarr[ 'filter' ] );

并且在将输入与默认值合并之后以及在清理之前立即调用.在我看来,这一行取消了上面的'filter'=> true语句.实际上,如果线路在那里就会发生消毒,如果线路被取出则消失.

所以简单的解决方案是添加'filter'=> true并删除函数中的额外行.但问题是我不知道该函数在哪里使用,我想知道在WP代码中是不是很聪明.WP的更新无论如何都会恢复它.那么......有没有其他方法可以阻止此功能清理输入?

1 个回答
  • 有些其他插件可能正在尝试清理内容,在这种情况下,删除所有过滤器是唯一的选择,请尝试以下操作:

    remove_all_filters("content_save_pre");
    $post_id = wp_insert_post($post);
    

    其他可能的过滤标签是:

    pre_content

    pre_post_content

    content_pre 如果它不起作用,也可以逐个尝试.

    2023-02-12 14:27 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有