Home » Hooks » tiny_mce_before_init

The tiny_mce_before_init hook is a WordPress filter hook that allows you to modify the configuration settings for the TinyMCE (Tiny Moxiecode Editor) visual editor before it is initialized on the WordPress post editor page. This hook provides developers with the ability to customize various aspects of the editor, such as toolbar buttons, plugins, and formatting options.

By using the tiny_mce_before_init hook, you can add or remove buttons from the editor toolbar, change the default formatting options, add custom styles to the editor, or even integrate third-party plugins to extend the functionality of the editor.

Here’s an example usage code that demonstrates how you can add a custom style to the TinyMCE editor using the tiny_mce_before_init hook:

function custom_tinymce_styles($init_array) {
    $style_formats = array(
            'title' => 'Custom Style',
            'selector' => 'h2',
            'classes' => 'custom-style',

    $init_array['style_formats'] = json_encode($style_formats);

    return $init_array;
add_filter('tiny_mce_before_init', 'custom_tinymce_styles');

In the above example, we have created a function called custom_tinymce_styles which adds a custom style option to the editor. We define the style as a h2 selector with the class custom-style. We then encode the array of styles using json_encode and assign it to the style_formats key in the $init_array parameter. Finally, we return the modified $init_array to apply the custom style to the TinyMCE editor.

This is just one of the many ways you can utilize the tiny_mce_before_init hook to customize the behavior and appearance of the TinyMCE editor in WordPress. It offers flexibility and control over the editor’s settings, allowing you to tailor it to your specific needs.

Learn More on WordPress.org

Register an account to save your snippets or go Pro to get more features.