【问题标题】:wp_insert_post iframe addingwp_insert_post iframe 添加
【发布时间】:2017-05-28 20:05:14
【问题描述】:

我正在开发一个 wordpress 门户。

我正在从前端页面发送带有 ajax 的 html 内容(youtube iframe)。 但是,当我插入该帖子时,wp_insert_post 会删除其中的 iframe 代码。 ajax或其他地方没有问题。我猜有某种过滤器。

如何禁用它并插入 iframe 代码?

插入前的代码 -> $_POST["content"]

<div class="line nVideo" style="text-align: center;" ><iframe id="player" type="text/html" width="650px" height="380px" src="http://www.youtube.com/embed/mY8BZsIgg74?showinfo=1&amp;enablejsapi=1&amp;color=white&amp;origin=http://432designstudio.com" frameborder="0" allowfullscreen=""></iframe></div><div id="empty-line" class="nText " ><div>gasdgdsag</div>

插入后我再次调用内容 -> get_post_field('post_content', $postID)

<div class="line nVideo" style="text-align: center"></div><div id="empty-line" class="nText "><div>gasdgdsag</div>

【问题讨论】:

    标签: wordpress iframe wordpress-theming custom-wordpress-pages


    【解决方案1】:

    WordPress 具有 wp_kses 功能,以确保只有允许的 HTML 元素名称、属性名称和属性值以及只有健全的 HTML 实体才会出现在 $string 中。在调用此函数之前,您必须从 PHP 的魔术引号中删除任何斜线。

    出于您的目的,您可以尝试通过在主题函数中添加此代码来删除此过滤器

        function kses_remove_filters() {
        // Normal filtering
        remove_filter('title_save_pre', 'wp_filter_kses');
    
        // Comment filtering
        remove_filter( 'pre_comment_content', 'wp_filter_post_kses' );
        remove_filter( 'pre_comment_content', 'wp_filter_kses' );
    
        // Post filtering
        remove_filter('content_save_pre', 'wp_filter_post_kses');
        remove_filter('excerpt_save_pre', 'wp_filter_post_kses');
        remove_filter('content_filtered_save_pre', 'wp_filter_post_kses');
    }
    

    或者只是

        kses_remove_filters();
    

    希望它能解决你的问题

    【讨论】:

    • 实际上它起作用了。但是您对安全问题有什么想法吗?在插入帖子之前我应该​​考虑什么?该内容由用户发送。
    • 您可以在此过滤器中设置允许的“标签”,即您只想添加“类”和“iframe”。 codex.wordpress.org/Function_Reference/wp_kses_allowed_html ,并阻止另一个“标签”,即
    • 我猜你的信息有一半被隐藏了。我检查了 codex,但我猜它只显示了哪些是允许的。如果您知道除了常规过滤器设置之外,您能否告诉我如何添加 iframe。非常感谢你。这对我帮助很大。
    • 这里是我从github上找到的一个函数gist.github.com/woodwardtw/cd09dec40403d6f30a5866a7434bcc83
    猜你喜欢
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多