技術資料

TinyMCEツールバーをカスタマイズ—不要なボタンを削除してシンプルにする方法

作成日:2012.01.31

TinyMCEを使ったWYSIWYGエディタにおいて、ツールバーに表示されるボタンをカスタマイズする方法をご紹介します。不要なボタンを削除したり、表示するボタンを減らすことで、よりシンプルで軽量なインターフェースを実現できます。

error この記事は最終更新日から14年以上が経過しています。

TinyMCEツールバーをカスタマイズ

以前、自作のフォームに TinyMCE を導入して WYSIWYG エディタにする方法という記事を書きましたが、今回はその続編です。

上記の記事のコードを元にTinyMCEを自作フォームのtextareaに適用すると、編集用のツールバーには四行にわたって大量のボタンが表示されます。

もちろんWYSIWYGエディタなので多機能なのは良いのですが、中には「これいらねーだろ」ってボタンや、インターフェイスによっては「色々あると重すぎるから必要なボタンだけでいいや」というケースなんかもあるかと思います。

そういった場合、TinyMCE設置用のJavaScriptの以下の部分を修正すれば、設置するボタンの種類を変更できます。

<script language="javascript" type="text/javascript">
tinyMCE.init({
	mode : "textareas",
	theme : "advanced",
	plugins : "safari,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,imagemanager,filemanager",

	// 以下の四行が各行のボタンの設定箇所
	theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
	theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
	theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
	theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage",
	// ↑ボタン配置設定ここまで↑
	theme_advanced_toolbar_location : "top",
	theme_advanced_toolbar_align : "left",
	theme_advanced_statusbar_location : "bottom",
	theme_advanced_resizing : true,

	content_css : "styles.css",
});
</script>

それぞれ、「theme_advanced_buttons1」「theme_advanced_buttons2」「theme_advanced_buttons3」「theme_advanced_buttons4」が、一~四行目に何のボタンを配置するかという設定部分です。

それぞれの行に「save,newdocument,|,bold,italic,underline,strikethrough,|,...」という具合に、カンマ区切りで設定するボタンの種類が書かれています。
それぞれのボタンがどういう名前と紐付けられているかは、実際の画面と比較すれば容易でしょう。
また、「|」は区切り線です。区切り線をツールバー内に入れる場合も、「|」自体をカンマで区切って入れます。

上記のコードでは四行にわたってツールバーが表示されますが、この行数を減らしたい、という場合、表示したくない行以降の「theme_advanced_buttons*」の項目自体を削除してしまえば大丈夫のようです。
ただし、例えば、

	theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
	theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
	theme_advanced_buttons3 : "",

という風に、「この行からは要らないよ」という行の設定を「""」で空に設定しないと、環境によっては空行が挿入されて見た目が変になってしまったりしてしまうケースがあるようですので注意。

TinyMCEのカスタマイズや自作フォームの調整でお困りではありませんか?

本記事で紹介したTinyMCEのツールバーのカスタマイズや、フォームへの適用について、実務での対応が必要な場合は、お気軽にご相談ください。

フォームの使い勝手を向上させるための調整や、独自のニーズに合ったカスタマイズ支援を行っております。

例えば、ツールバーの整理や不要な機能の排除、ユーザーインターフェイスの最適化など、様々な調整に対応しています。

mail ご相談・お問い合わせはこちらから 

この記事を書いた人

※上が私です。

奈良市を拠点に、27年以上の経験を持つフリーランスWebエンジニア、阿部辰也です。

これまで、ECサイトのバックエンド開発や業務効率化システム、公共施設の予約システムなど、多彩なプロジェクトを手がけ、企業様や制作会社様のパートナーとして信頼を築いてまいりました。

【制作会社・企業様向けサポート】
  • 専任エンジニアのいない企業様に対するシステム面の不安を解消
  • 柔軟な契約形態や短納期での対応により、急なニーズにも迅速にサポート
  • システムの企画段階から運用まで、ワンストップでのサービスを提供

Webシステムの開発やサイト改善でお困りの際は、どうぞお気軽にご相談ください。小さな疑問から大規模プロジェクトまで、最適なご提案を心を込めてさせていただきます。

ぜひ、プロフィールWeb制作会社様向け業務案内一般企業様向け業務案内もご覧くださいね。

Clipboard APIの落とし穴:localhost・HTTPS・ユーザー操作の違い

2026.09.16

navigator.clipboard.writeText()によるクリップボードへの自動コピーが、localhostでは動くのにLAN内IPのHTTPアクセスでは失敗する理由を、Secure Context、ユーザー操作、ブラウザ権限の観点から整理します。HTTPS化の考え方、JavaScriptによる確認方法、失敗時に手動コピーへ切り替える実装例、document.execCommand('copy')を使う場合の注意点も紹介します。

JavaScript

自動取得後の大量データ確認を一日半から2時間に短縮した、ワークキュー型UIの設計

2026.09.12

自動取得後の大量データの確認・補正作業を題材に、管理画面をワークキュー型UIへ改善した事例を紹介します。少数件のキュー、自動補充、解決済み項目の非入力化、例外の別レーン化、unknown_resultや楽観的ロックなど、人間が大量データを安全かつ効率的に処理するための設計をまとめます。

JavaScript UI設計 Vue.js

ViteのJavaScriptチャンクサイズ警告が出たときの判断基準:コード分割・閾値変更・現状維持

2026.09.08

ViteのビルドでJavaScriptチャンクサイズ警告が出たときに、ビルドエラーとの違い、非圧縮サイズとgzipサイズの見方、静的importによるチャンク肥大化の原因を整理する。動的importや依存ライブラリの見直し、警告閾値の変更、現状維持について、一般ユーザー向けサービス・社内管理画面・自分専用の管理画面ごとの判断基準と本番運用上の注意点を紹介する。

JavaScript Vite Vue.js

Vue.jsで一覧画面の無限スクロールを実装する:サンプルJSONから一覧データを取得

2026.09.03

Vue.js単体のViteプロジェクトで、サンプルJSONからデータを取得し、IntersectionObserverで画面下部の監視要素を検知して5件ずつカード表示する無限スクロールを実装します。fetchのエラー処理や再読み込み、全件表示後の監視解除も扱い、サンプルJSONを一括取得するモックと、実際のAPIによるページングの違いも説明します。

JavaScript Vue.js

阿部辰也へのお仕事の依頼・お問い合わせ

軽いご相談もお気軽にどうぞ!

個人情報の取り扱いについて *必須 プライバシーポリシーをご確認いただき、同意いただける場合は「同意する」にチェックをしてください。

keyboard_double_arrow_up
TOP