Wordpress 从文档中剥离 <style> 标签

Posted

技术标签:

【中文标题】Wordpress 从文档中剥离 <style> 标签【英文标题】:Wordpress stripping <style> tags from document 【发布时间】:2016-11-27 02:10:13 【问题描述】:

如果我使用 Wordpress 文本编辑器并将标签放入 html,当它呈现时,它会在样式标签内显示文字代码。这似乎是因为 Wordpress 会删除样式标签——我可以看到它们在单击更新后立即被删除/删除。有谁知道为什么样式标签在被 Wordpress 处理后会从文档中删除?

当我使用以下编辑器视图时会发生这种情况:

样式标签被剥离,所以我们得到文字:

【问题讨论】:

无论如何,这都是无效的 HTML。您不能在 HTML 内容中使用 &lt;style&gt;-tags。只需将样式作为属性附加到标签即可。或者编写一些 CSS,您可以通过添加类或类似元素来使用。 呃,我不知道你不能这样做 【参考方案1】:

WordPress tinymce 删除了一些标签,包括样式标签。

您可以添加对样式标签的支持。

functions.php中添加如下代码

add_filter('tiny_mce_before_init', 'prefix_filter_tiny_mce_before_init');
function prefix_filter_tiny_mce_before_init( $options ) 

    if ( ! isset( $options['extended_valid_elements'] ) ) 
        $options['extended_valid_elements'] = 'style';
     else 
        $options['extended_valid_elements'] .= ',style';
    

    if ( ! isset( $options['valid_children'] ) ) 
        $options['valid_children'] = '+body[style]';
     else 
        $options['valid_children'] .= ',+body[style]';
    

    if ( ! isset( $options['custom_elements'] ) ) 
        $options['custom_elements'] = 'style';
     else 
        $options['custom_elements'] .= ',style';
    

    return $options;

【讨论】:

以上是关于Wordpress 从文档中剥离 <style> 标签的主要内容,如果未能解决你的问题,请参考以下文章

隧道通过 ngrok 剥离风格和主题的 wordpress 网站

如何阻止 wordpress 剥离或更改我的 html 代码,以便我可以在文本块中添加嵌入式 iframe?

Python元素树 - 从元素中提取文本,剥离标签

从文本中剥离标签(在 React JS 中)

WordPress简易主题样式切换程序

CKEditor 自动从 div 中剥离类