WordPress 4.8 のテキスト ウィジェットでは、ビジュアル エディタ(TinyMCE)が使用できるようになる予定です。
ただ残念ながらメディア ボタンは付かないようです。あると便利そうなのでメディア ボタンを追加するだけのプラグインでも作成しようと、コードを眺めていたのですが、いい方法がなかなか見つからない。取り敢えずメディア ボタンの追加は置いといて、ツールバーをカスタマイズする方法は分かったので、備忘録として残しておきます。
下記の画面が、デフォルトのテキスト ウィジェットです。ツールバーのボタンは、[太字]、[イタリック]、[番号なしリスト]、[番号付きリスト] および [リンク] の5個だけと、ちょっと寂しい感じです。
これに、テキスト ウィジェットでは使用頻度が高そうな、[左寄せ]、[中央揃え]、[右寄せ] および [リンクの削除] ボタンを追加してみようと思います。
ツールバーにボタンを追加
4.8 のエディタ(TinyMCE)は、JavaScript から動的にインスタンス化することが出来るようになりました。
エディタの初期化をカスタマイズするための、tiny_mce_before_init フィルターは残されていますが、新しいテキスト ウィジェットのエディタのカスタマイズは、このフィルターでは出来ないようです。新しいエディタは、jQuery のイベントで設定するようです。
ツールバーの追加等は、インスタンス化された後に呼ばれる tinymce-editor-setup イベントが適していそうです。
function my_widgets_php_scripts() {
$script = '
jQuery(document).on("tinymce-editor-setup", function(event, editor) {
editor.settings.toolbar1 = "bold,italic,bullist,numlist,alignleft,aligncenter,alignright,link,unlink";
});';
wp_add_inline_script( 'editor', $script );
}
add_action( 'admin_print_scripts-widgets.php', 'my_widgets_php_scripts' );
最後に
コードを追うのはなかなかしんどいので、あとはドキュメント化されるのを待ちたいと思います。