I'm using the TinyMCE Advanced plugin so that I can add my own custom styles to the Style dropdown in the Visual Editor. However, I don't want some of the styles that are included in the style.css file to be listed there, as they are 'internal' classes (for aligning pictures etc).

Is there a way to stop these classes being shown in the dropdown? Either by changing the TinyMCE Advanced configuration, or by editing the CSS file in a certain way?

1 Answer 1


This should be what you're looking for - put this code into your theme's functions.php file:

add_filter( 'tiny_mce_before_init', 'yourprefix_tiny_mce_before_init' );
function yourprefix_tiny_mce_before_init( $init_array ) {

    // filter styles:
    $init_array['theme_advanced_styles'] = "your_style=your_class";

    // filter formats:
    $init_array['theme_advanced_blockformats'] = "p,h3,h4,h5";

    return $init_array;

This way the only style that will be displayed is your_style.

The 3rd line is taking care of tinymce formats - might be useful too.

See Plugin_API/Filter_Reference/tiny_mce_before_init for more informations and examples.

  • Great! Is there documentation for these options anywhere? For example, how would I let multiple styles through?
    – robintw
    Commented Jan 10, 2011 at 19:46
  • use semicolon: $init_array['theme_advanced_styles'] = "your_style=your_class;another_class=your_class2"; google 'tiny_mce_before_init' for more .)
    – Michal Mau
    Commented Jan 10, 2011 at 19:56
  • related: wordpress.stackexchange.com/questions/4349/…
    – Michal Mau
    Commented Jan 10, 2011 at 19:58

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.