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

thp*_*ani 2 wordpress tinymce-4

直到 WP 3.9,我都可以使用<style>WP 的“文本”选项卡中的标签来指定内联样式表,这在切换到所见即所得的情况下仍然存在。

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

我已经尝试过以下作为 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;
}
Run Code Online (Sandbox Code Playgroud)

Com*_*ity 5

尝试指定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;
}
Run Code Online (Sandbox Code Playgroud)