Up until WP 3.9 I could specify inline Stylesheets using <style>
tags in WP’s “Text” tab, which would survive switching to WYSIWYG.
From WP 3.9, TinyMCE will strip <style>
tags upon switching to WYSIWYG.
I’ve tried the following as MU plugin, but it doesn’t help:
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;
}
Try specifying
valid_children
andcustom_elements
:Why not use a custom template to achieve your goals? When used in combination with Advanced Custom Fields this would allow you to control the markup, which you could then style using your stylesheet in style.css, taking it out of the hands of the client completely.
http://codex.wordpress.org/Page_Templates
http://www.advancedcustomfields.com/
Check out this answer: https://stackoverflow.com/a/18313848. Works for me.