WordPressの投稿画面でウィジウィグのボタンを一部削除したいということがたまにあるので、プラグインを使わないでfunctions.phpで削除する方法をメモしておきます。
サンプルコード
まずはビジュアルエディタの方のボタンを削除してみます。
ビジュアルエディタはデフォルトだと以下のような表示になっているので、今回は太字ボタンとテキスト色ボタンのみ残すようにしてみます。

ビジュアルエディタのボタン部分は行ごとにフィルターが用意されているので、これを使ってボタンを非表示にします。
1行目のボタンを設定してみます。
functions.php
// ビジュアルエディタ1行目のボタン削除
function remove_tinymce_buttons( $buttons ) {
// 削除するボタンを指定
$remove = array(
'formatselect', // 段落
// 'bold', // 太字
'italic', // イタリック
'bullist', // 番号なしリスト
'numlist', // 番号付きリスト
'blockquote', // 引用
'alignleft', // 左寄せ
'aligncenter', // 中央揃え
'alignright', // 右寄せ
'link', // リンクの挿入/編集
'wp_more', // 「続きを読む」タグを挿入
'spellchecker', // ?
'dfw', // 集中執筆モード
'wp_adv', // ツールバー切り替え
);
// 指定したボタンを削除
$buttons = array_diff( $buttons, $remove );
return $buttons;
}
add_filter( 'mce_buttons', 'remove_tinymce_buttons' );
$remove内に設定できる値を入れているので、残したいボタンはコメントアウトをするようにして下さい。
コメントにも書いていますが、以下が各ボタンを削除する際の名前になります。
| formatselect | 『段落』の選択を非表示にする。 |
|---|---|
| bold | 『太字』のボタンを非表示にする。 |
| italic | 『イタリック』のボタンを非表示にする。 |
| bullist | 『番号なしリスト』のボタンを非表示にする。 |
| numlist | 『番号付きリスト』のボタンを非表示にする。 |
| blockquote | 『引用』のボタンを非表示にする。 |
| alignleft | 『左寄せ』のボタンを非表示にする。 |
| aligncenter | 『中央揃え』のボタンを非表示にする。 |
| alignright | 『右寄せ』のボタンを非表示にする。 |
| link | 『リンクの挿入/編集』のボタンを非表示にする。 |
| wp_more | 『「続きを読む」タグを挿入』のボタンを非表示にする。 |
| spellchecker | 『スペルチェッカー』を非表示にする? |
| dfw | 『集中執筆モード』のボタンを非表示にする。 |
| wp_adv | 『ツールバー切り替え』のボタンを非表示にする。 |
2行目のボタンを設定してみます。
functions.php
// ビジュアルエディタ2行目のボタン削除
function remove_tinymce_buttons_2( $buttons ) {
// 削除するボタンを指定
$remove = array(
'strikethrough', // 打ち消し
'hr', // 横ライン
// 'forecolor', // テキスト色
'pastetext', // テキストとしてペースト
'removeformat', // 書式設定をクリア
'charmap', // 特殊文字
'outdent', // インデントを減らす
'indent', // インデントを増やす
'undo', // 取り消し
'redo', // やり直し
'wp_help' // キーボードショートカット
);
// 指定したボタンを削除
$buttons = array_diff( $buttons, $remove );
return $buttons;
}
add_filter( 'mce_buttons_2', 'remove_tinymce_buttons_2' );
以下が各ボタンを削除する際の名前になります。
| strikethrough | 『打ち消し』のボタンを非表示にする。 |
|---|---|
| hr | 『横ライン』のボタンを非表示にする。 |
| forecolor | 『テキスト色』の選択を非表示にする。 |
| pastetext | 『テキストとしてペースト』のボタンを非表示にする。 |
| removeformat | 『書式設定をクリア』のボタンを非表示にする。 |
| charmap | 『特殊文字』のボタンを非表示にする。 |
| outdent | 『インデントを減らす』のボタンを非表示にする。 |
| indent | 『インデントを増やす』のボタンを非表示にする。 |
| undo | 『取り消し』のボタンを非表示にする。 |
| redo | 『やり直し』のボタンを非表示にする。 |
| wp_help | 『キーボードショートカット』のボタンを非表示にする。 |
これでビジュアルエディタのボタンが太字とテキスト色のみにできました。

次にテキストエディタのボタンを削除してみます。
テキストエディタはデフォルトだと以下のような表示になっています。

今回は太字ボタンのみにしてみます。
テキストエディタのボタン部分は以下のように設定します。
functions.php
// テキストディタのボタン削除
function remove_html_editor_buttons( $qt_init ) {
// 削除するボタンを指定
$remove = array(
// 'strong', // b
'em', // i
'link', // link
'block', // b-quote
'del', // del
'ins', // ins
'img', // img
'ul', // ul
'ol', // ol
'li', // li
'code', // code
'more', // more
'close', // タグを閉じる
'dfw', // 集中執筆モード
);
// ボタンの一覧を文字列から配列に分割
$qt_init['buttons'] = explode( ',', $qt_init['buttons'] );
// 指定したボタンを削除
$qt_init['buttons'] = array_diff( $qt_init['buttons'], $remove );
// 配列から文字列に連結
$qt_init['buttons'] = implode( ',', $qt_init['buttons'] );
return $qt_init;
}
add_filter( 'quicktags_settings', 'remove_html_editor_buttons' );
ビジュアルエディタの時と同じく、残したいボタンはコメントアウトをするようにして下さい。
これでテキストエディタのボタンが太字のみになりました。

【参考サイト】
- WordPress:エディタから不要なボタンを削除(非表示)にする方法 | NxWorld
- [WordPress] プラグインを使わずにビジュアルエディタへボタンを追加/削除したり、オリジナルの並びにしたりする方法 | memocarilog
コメントが承認されるまで時間がかかります。