Add the font-select menu to the 2nd row of buttons (revealed with the Kitchen Sink button)
If some items aren’t removed from the second row, the buttons won’t fit nicely on a 1024×768 screen.
See WordPress’s default buttons in wp_tiny_mce()
add_filter('mce_buttons_2', 'add_fontselect_row_2' );
function add_fontselect_row_2( $mce_buttons ) {
/*
find the keys of the buttons to be sacrificed
*/
$pastetext = array_search( 'pastetext', $mce_buttons );
$pasteword = array_search( 'pasteword', $mce_buttons );
$removeformat = array_search( 'removeformat', $mce_buttons );
unset( $mce_buttons[ $pastetext ] );
unset( $mce_buttons[ $pasteword ] );
unset( $mce_buttons[ $removeformat ] );
/*
insert the new dropdown where the sacrificed buttons used to be
alter as needed
*/
array_splice( $mce_buttons, $pastetext, 0, 'fontselect' );
return $mce_buttons;
}
But if you’re adding the 3rd row, you’re probably clear (unless you have other plugins that are adding buttons).
add_filter('mce_buttons_3', 'add_fontselect_row_3' );
function add_fontselect_row_3( $mce_buttons ) {
$mce_buttons[] = 'fontselect';
return $mce_buttons;
}
Currently, any buttons added to the 3rd or 4th rows will always be visible (Kitchen Sink only shows/hides the 2nd row) – but a patch has been submitted to correct this, hopefully it’ll be committed.
However, if you’ll probably want to clean up the font options – remove fonts that you’ll never use (or should never be used).
add_filter('tiny_mce_before_init', 'restrict_font_choices' );
function restrict_font_choices( $initArray ) {
$initArray['theme_advanced_fonts'] =
'Andale Mono=andale mono,times;'.
'Arial=arial,helvetica,sans-serif;'.
//'Arial Black=arial black,avant garde;'.
'Book Antiqua=book antiqua,palatino;'.
//'Comic Sans MS=comic sans ms,sans-serif;'.
'Courier New=courier new,courier;'.
'Georgia=georgia,palatino;'.
'Helvetica=helvetica;'.
//'Impact=impact,chicago;'.
//'Symbol=symbol;'.
'Tahoma=tahoma,arial,helvetica,sans-serif;'.
'Terminal=terminal,monaco;'.
'Times New Roman=times new roman,times;'.
'Trebuchet MS=trebuchet ms,geneva;'.
'Verdana=verdana,geneva;'.
//'Webdings=webdings;'.
//'Wingdings=wingdings,zapf dingbats'.
'';
return $initArray;
}