如何防止Wordpress 3.9 / TinyMCE 4剥离<style>标签?</style>

时间:2014-04-25 15:40:16

标签: wordpress tinymce-4

直到WP 3.9我可以在WP&#34;文本&#34;中使用<style>标签指定内联样式表。选项卡,可以在切换到WYSIWYG后继续使用。

从WP 3.9开始,TinyMCE将在切换到WYSIWYG时删除<style>个标签。

我已尝试将以下内容作为MU插件,但它没有帮助:

add_filter('tiny_mce_before_init', 'vsl2014_filter_tiny_mce_before_init');
function vsl2014_filter_tiny_mce_before_init( $options ) {

    if ( ! isset( $options['extended_valid_elements'] ) )
        $options['extended_valid_elements'] = '';

    $options['extended_valid_elements'] .= ',style';
    return $options;
}

3 个答案:

答案 0 :(得分:4)

尝试指定valid_childrencustom_elements

add_filter('tiny_mce_before_init', 'vsl2014_filter_tiny_mce_before_init');
function vsl2014_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;
}

答案 1 :(得分:0)

为什么不使用自定义模板来实现目标?当与高级自定义字段结合使用时,这将允许您控制标记,然后您可以使用style.css中的样式表进行样式设置,从而完全取消客户端。

http://codex.wordpress.org/Page_Templates

http://www.advancedcustomfields.com/

答案 2 :(得分:0)

看看这个答案:https://stackoverflow.com/a/18313848。适合我。

function myformatTinyMCE($in) {
$in['verify_html']=false;
    return $in;
}
add_filter('tiny_mce_before_init', 'myformatTinyMCE' );