WordPress:エディタから不要なボタンを削除(非表示)にする方法

  • Posted on
  • Category : WordPress
WordPress:エディタから不要なボタンを削除(非表示)にする方法

WordPressの投稿画面にあるエディタ(ビジュアルエディタ・テキストエディタ)にはそれぞれ入力を手助けしてくれるボタンが表示されていますが、それを削除(非表示)にする方法です。不要なボタンを削除するだけでなく、追加したり順番を並べ替えたりなどいろいろとカスタマイズしたい場合は「TinyMCE Advanced」などのプラグインを利用したほうが手っ取り早いですが、削除だけであればfunctions.phpを使って簡単に対応できます。

ビジュアルエディタのボタンを削除

ビジュアルエディタのボタンはデフォルトでは2行分しか用意されていませんが、実はボタンが表示される部分は4行分あり、それぞれにフィルターも用意されているので、それを利用することでボタンの削除ができたり、ここでは紹介していませんが新たにボタンを追加させるといったことができます。
フィルターは上から「mce_buttons」「mce_buttons_2」「mce_buttons_3」「mce_buttons_4」となっており、例えば1行目にあるボタンを削除したい場合は「mce_buttons」を利用してfunctions.phpへ以下のように記述し、ここでは例として「「続きを読む」タグを挿入」と「集中執筆モード」のボタンを削除してみます。

functions.php

function remove_tinymce_buttons( $buttons ) {
	$remove = array('wp_more', 'dfw'); // ここに削除したいものを記述
	return array_diff($buttons, $remove);
}
add_filter( 'mce_buttons', 'remove_tinymce_buttons' );

他のボタンを削除したい時はコメントがあるarray('wp_more', 'dfw');に追記する形で記述(それぞれどのように記述するのかは後述)していけば削除することができます。

2行目にあるボタンを削除したい場合は「mce_buttons_2」を利用してfunctions.phpへ以下のように記述し、ここでは例として段落や見出しなどを選べる「フォーマットセレクト」の部分と「キーボードショートカット」ボタンを削除してみます。

functions.php

function remove_tinymce_buttons_2( $buttons ) {
	$remove = array('formatselect', 'wp_help'); // ここに削除したいものを記述
	return array_diff($buttons, $remove);
}
add_filter( 'mce_buttons_2', 'remove_tinymce_buttons_2' );

こちらも先ほどと同様で、他のボタンを削除したい時はコメントがあるarray('formatselect', 'wp_help');に追記する形で記述(それぞれどのように記述するのかは後述)していけば削除することができます。

指定方法を調べる

上で「「続きを読む」タグを挿入」ボタンを削除したい時は「wp_more」、「キーボードショートカット」ボタンを削除したい時は「wp_help」というようにいくつか紹介してきましたが、それぞれどのように記述していけばどのボタンを削除できるのかどうかは「wp-includes > class-wp-editor.php」で確認することができます。
バージョンによって多少行数は変わってくるとは思いますが、大体590行目辺りから例えば「mce_buttons」の場合は以下のような記述があるので、これらを見ながら記述していけば目的のボタンを削除できると思います。

class-wp-editor.php

$mce_buttons = apply_filters( 'teeny_mce_buttons', array('bold', 'italic', 'underline', 'blockquote', 'strikethrough', 'bullist', 'numlist', 'alignleft', 'aligncenter', 'alignright', 'undo', 'redo', 'link', 'unlink', 'fullscreen'), $editor_id );

または、Chromeのデベロッパーツールを使うなどして各ボタンのアイコン部分の記述(button > i)を見てみると、「太字」の場合はmce-i-bold、「イタリック」の場合はmce-i-italicというようにそれぞれクラスが記述されており、そのクラス名の末尾を見て判断する方法もできます。
「フォーマットセレクト」などのようにこれだけではわからないものもあるので、普通にclass-wp-editor.php見るのが無難ですが、それを開くのすら面倒な時はこれが手っ取り早いです。

テキストエディタのボタンを削除

テキストエディタに表示されているボタンを削除したい時はfunctions.phpに以下のように記述し、ここでは例として「code」「more」「集中執筆モード」の3つのボタンを削除してみます。

functions.php

function remove_html_editor_buttons( $qt_init) {
	$remove = array('code', 'more', 'dfw'); // ここに削除したいものを記述
	$qt_init['buttons'] = implode(',', array_diff(explode(',', $qt_init['buttons']), $remove));
	return $qt_init;
}
add_filter( 'quicktags_settings', 'remove_html_editor_buttons' );

他のボタンを削除したい時はコメントがあるarray('code', 'more', 'dfw');に追記する形で記述し、こちらもビジュアルエディタの時と同じようにそれぞれどのように記述すればボタンが削除できるのか確認したい時は「wp-includes > class-wp-editor.php」の320行目辺りを確認、もしくはChromeのデベロッパーツールを使うなどして各ボタンのアイコン部分の記述を確認する方法もあります。
デベロッパーツール使って確認する場合はそれぞれinputに記述されているvalueの値を指定してあげれば、目的のボタンを削除できると思います。(buttonの場合はidの末尾で判断)

「集中執筆モード」ボタンを削除する際は…

上でそれぞれのエディタで「集中執筆モード」ボタンを消す方法を例としてあげましたが、細かいところですが「集中執筆モード」ボタンを消す際はもう一箇所消しておいた方がいい箇所があります。
それは画面上部の「表示オプション」内にある「最大行表示エディターと集中執筆モード機能を有効化します。」という部分で、上で紹介した方法で既にボタンの表示を消してしまっているので特に画面上で変化もなく、表示オプション内にこれがあると細かい部分まで気になるクライアントから何をするための項目なのか質問されることがありました。

上記理由からエディタで表示されている「集中執筆モード」ボタンを削除するという場合は、上で紹介したコードに加えてfunctions.phpに以下も記述すれば、「表示オプション」内にある「最大行表示エディターと集中執筆モード機能を有効化します。」という部分を非表示にすることができるので、自分は普段からこれも一緒に記述することが多いです。

functions.php

function disable_editor_expand() {
	wp_deregister_script('editor-expand');
}
add_action( 'admin_init', 'disable_editor_expand' );

本当はこの記述をすることでエディタに表示されている「集中執筆モード」ボタンも一緒に非表示になるならいいのですが、ビジュアルエディタの方は消えてもテキストエディタの方ではなぜかボタンが削除されずに残ってしまいます…。
なので、今回はエディタの「集中執筆モード」ボタンを消す流れで紹介しましたが、「集中執筆モード」の機能が不要だという時は上で紹介したものを併記しておくとひと通り削除できるかと思います。

Back to Top

WordPress:エディタから不要なボタンを削除(非表示)にする方法

WordPress:エディタから不要なボタンを削除(非表示)にする方法

/ WordPress

Tagged with:

NxWorld

Sorry... doesn't support your browser

To get the best possible experience using our site we recommend that you upgrade to a modern web browser.NxWorldではご利用中のブラウザサポートはしていません。
Internet Explorerのアップグレード行う、もしくはその他のブラウザを使用しての閲覧をお願いします。