カスタム投稿ポストでエディターのビジュアルモードを無効にする方法

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

本日は業務メモ。ワードプレスの操作に慣れていないお客様へサイトを納品する際のカスタマイズ。今回は導入したテーマ側に少し動作不具合があって特定のカスタム投稿で「本文(the_contents)」の改行が無効化されていました。functions.phpからカスタム投稿を指定して「the_contents(本文)」内の改行処理をあえて上書きして有効化を図ってみましたが効果はありませんでした。

テーマを本格的に改修して該当箇所を書き直してもよかったのですが本体のアップデートを考慮して今回は避けることに。となると「改行」する際はテキストモードで本文内に「<br>」をつけて管理するしかありません。しかし、万が一お客様側でビジュアルモードに切り替えてしまうと改行が消えるので「ビジュアルモード」自体も無効化しておいた方が効率的に作業を進められます。

そこで以下のスクリプトを使います。特定のカスタム投稿ポスト(example)でのみビジュアルエディターを無効化します。

//カスタム投稿ポスト「example」のみビジュアルエディターモードを無効化する
function disable_cf_visual_editor_mode() {
	global $typenow;
	if ($typenow == 'example') {
		add_filter('user_can_richedit', 'disable_cf_visual_editor_mode_filter');
	}
}

function disable_cf_visual_editor_mode_filter() {
	return false;
}
add_action('load-post.php', 'disable_cf_visual_editor_mode');
add_action('load-post-new.php', 'disable_cf_visual_editor_mode');

実際に無効化した画面が以下です。

もしお客様の操作レベルがかぎりなく初心者に近い場合に限っては「テキストモード」で表示される「ボタン類」もすべて非表示にしてしまった方が安全そうですね。コンテンツによっては「メディアを追加」も不要です。ボタン類を非表示化するカスタム方法はまた別の機会にご紹介させていただきます。

ちなみに上記ではカスタム投稿ポストに絞っての制御方法を書きましたが固定ページ、投稿ページ、カスタム投稿ポストすべてのビジュアルエディターを無効化する場合は下記でまとめて指定できます。

function visual_editor_all_disable_script(){
	add_filter('user_can_richedit', 'disable_visual_editor_filter');
}
function disable_visual_editor_filter(){
	return false;
}
add_action( 'load-post.php', 'visual_editor_all_disable_script' );
add_action( 'load-post-new.php', 'visual_editor_all_disable_script' );

制御方法は色々とあるので状況に合わせて細かく指定するかまとめて指定するか決めていきましょう。

最新式の無料プラグインを事前公開

WordPressは公式サイトに登録されているプラグインだけでは機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグイン無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
改良されたプラグインを確認する