The before_wp_tiny_mce WordPress PHP filter allows you to modify the TinyMCE settings array before it is printed.
Usage
add_filter('before_wp_tiny_mce', 'your_custom_function');
function your_custom_function($mce_settings) {
// your custom code here
return $mce_settings;
}
Parameters
$mce_settings(array) – The TinyMCE settings array to be modified.
More information
See WordPress Developer Resources: before_wp_tiny_mce
Examples
Add custom style formats to TinyMCE dropdown
This example adds custom style formats to the TinyMCE “Formats” dropdown.
add_filter('before_wp_tiny_mce', 'add_custom_style_formats');
function add_custom_style_formats($mce_settings) {
$style_formats = array(
array(
'title' => 'Button',
'selector' => 'a',
'classes' => 'button'
),
array(
'title' => 'Lead',
'selector' => 'p',
'classes' => 'lead'
)
);
$mce_settings['style_formats'] = json_encode($style_formats);
return $mce_settings;
}
Enable paste as plain text by default
Enable “Paste as Plain Text” option by default when pasting content into the editor.
add_filter('before_wp_tiny_mce', 'enable_paste_as_plain_text');
function enable_paste_as_plain_text($mce_settings) {
$mce_settings['paste_as_text'] = true;
return $mce_settings;
}
Remove specific buttons from the toolbar
This example removes the “Align center” and “Underline” buttons from the toolbar.
add_filter('before_wp_tiny_mce', 'remove_toolbar_buttons');
function remove_toolbar_buttons($mce_settings) {
$mce_settings['toolbar1'] = str_replace(',aligncenter,', ',', $mce_settings['toolbar1']);
$mce_settings['toolbar1'] = str_replace(',underline,', ',', $mce_settings['toolbar1']);
return $mce_settings;
}
Set custom font sizes
Set custom font sizes in the “Font Sizes” dropdown menu.
add_filter('before_wp_tiny_mce', 'set_custom_font_sizes');
function set_custom_font_sizes($mce_settings) {
$mce_settings['fontsize_formats'] = '12px 14px 16px 18px 24px 30px 36px 48px';
return $mce_settings;
}
Disable the “Add Media” button
Disable the “Add Media” button above the editor.
add_filter('before_wp_tiny_mce', 'disable_add_media_button');
function disable_add_media_button($mce_settings) {
$mce_settings['media_buttons'] = false;
return $mce_settings;
}