The mce_buttons WordPress PHP filter allows you to modify the first-row list of TinyMCE buttons in the Visual tab.
Usage
add_filter('mce_buttons', 'your_function_name', 10, 2);
function your_function_name($mce_buttons, $editor_id) {
// your custom code here
return $mce_buttons;
}
Parameters
$mce_buttons(array) – The first-row list of buttons.$editor_id(string) – Unique editor identifier, e.g. ‘content’. Accepts ‘classic-block’ when called from block editor’s Classic block.
More information
See WordPress Developer Resources: mce_buttons
Examples
Add a custom button to the first row
Add a custom button called ‘your_button’ to the first row of TinyMCE buttons in the Visual tab.
add_filter('mce_buttons', 'add_custom_button', 10, 2);
function add_custom_button($mce_buttons, $editor_id) {
array_push($mce_buttons, 'your_button');
return $mce_buttons;
}
Remove the bold button
Remove the bold button from the first row of TinyMCE buttons in the Visual tab.
add_filter('mce_buttons', 'remove_bold_button', 10, 2);
function remove_bold_button($mce_buttons, $editor_id) {
$remove_button = 'bold';
$index = array_search($remove_button, $mce_buttons);
if (false !== $index) {
unset($mce_buttons[$index]);
}
return $mce_buttons;
}
Move the strikethrough button to the first row
Move the strikethrough button from the second row to the first row of TinyMCE buttons in the Visual tab.
add_filter('mce_buttons', 'move_strikethrough_button', 10, 2);
function move_strikethrough_button($mce_buttons, $editor_id) {
array_push($mce_buttons, 'strikethrough');
return $mce_buttons;
}
Rearrange buttons in the first row
Rearrange the buttons in the first row of TinyMCE buttons in the Visual tab.
add_filter('mce_buttons', 'rearrange_buttons', 10, 2);
function rearrange_buttons($mce_buttons, $editor_id) {
$new_order = array(
'bold', 'italic', 'underline', 'strikethrough',
'alignleft', 'aligncenter', 'alignright', 'alignjustify',
);
return $new_order;
}
Change buttons for the Classic block
Change the first-row buttons for the Classic block in the block editor.
add_filter('mce_buttons', 'change_classic_block_buttons', 10, 2);
function change_classic_block_buttons($mce_buttons, $editor_id) {
if ('classic-block' === $editor_id) {
$new_buttons = array(
'bold', 'italic', 'underline',
'alignleft', 'aligncenter', 'alignright',
);
return $new_buttons;
}
return $mce_buttons;
}