12

I am posting Word generated HTML to WordPress via XMLRPC. Before I go to post.php, the format is correctly preserved in the database. TinyMCE performs its magic and I lose quite a few formatting details.
The main issue i am seeing is that <span> tag with style information surrounding other elements are stripped out. I have verified that these tags are indeed removed by TinyMCE and not Kses. Is there a way to prevent TinyMCE from altering the HTML? I have tried

add_filter('tiny_mce_before_init', 'tinymce_init');

function tinymce_init( $init ) {
    $init['extended_valid_elements'] .= ', span[style|id|nam|class|lang]';
$init['verify_html'] = false;
    return $init;
}

which didn't help. According to TinyMCE documentation, "verify_html"

This option enables or disables the element cleanup functionality. If you set this option to false, all element cleanup will be skipped but other cleanup functionality such as URL conversion will still be executed.

3 Answers 3

9

I couldn't find the extended_valid_elements option in the settings panel for TinyMCE advanced, but adding the following to my functions.php solved it:

function override_mce_options($initArray) {
    $opts = '*[*]';
    $initArray['valid_elements'] = $opts;
    $initArray['extended_valid_elements'] = $opts;
    return $initArray;
} add_filter('tiny_mce_before_init', 'override_mce_options');

Source

0
4

I almost always use the TinyMCE Advanced plugin - there is an admin page (Settings->TinyMCE Config) that let you add supported tags using the extended_valid_elements option. Simply add span and whatever other tags you don't want removed and enjoy!

4
  • Thanks, TinyMCE Advanced does exactly the same thing as my code above to add extended_valid_elements. But i will it with the plugin. Maybe I there is a bug some where in my code.
    – ltfishie
    May 23, 2012 at 5:16
  • Install it and try it out - if it works, then the problem is your code. If it doesn't, something else is overriding it at the plugin or theme level.
    – SickHippie
    May 23, 2012 at 16:14
  • 2
    I couldn't find a place in the latest version of TinyMCE Advanced to add elements Oct 24, 2015 at 13:33
  • That's not surprising, since this post is 3 1/2 years old.
    – SickHippie
    Oct 24, 2015 at 23:29
0

If you use TinyMCE Advanced plugin, there is a companion plugin called TinyMCE Advanced Configuration, with which you can change config settings, like extended_valid_elements option.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.