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

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

WPホームページ研究所運営サポートチーム監修のオムスビ(@OMUSUVIcom)です。

本日は業務メモ。ワードプレスの操作に慣れていないお客様へサイトを納品する際のカスタマイズ。今回は導入したテーマ側に少し動作不具合があって特定のカスタム投稿で「本文(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してお試しくださいませ。
改良されたプラグインを確認する

ワードプレス専門家に丸投げする

WPホームページ研究所はワードプレスを中心としたブログ作成・ホームページ制作・オウンドメディア構築・プラグイン設定・調整など幅広いカスタマイズに対応しております。 記事の掲載情報だけでなくお好みの機能をいただければ専属スタッフが心を込めて真摯に対応させていただきます。お気軽にお問い合わせください。

お問い合わせの種類をお選びください(もっとも近い項目)

法人の場合は法人名とご担当者のお名前をご入力ください

返信時のご連絡に利用するメールアドレスをご入力ください

運営中のウェブサイトURLがあればご入力ください

お困りの内容があれば詳しい内容をお聞かせください