WordPressの固定ページ編集時のみビジュアルエディタを使用できないようにする

  • 公開日:2014/2/4
この記事は最終更新日から9年以上が経過しています。

固定ページではdivやpタグ、PHPコードなどを使って記述することが多いです。だから、必然的にビジュアルエディタは使いません。だけど、お客さまが更新されるときはビジュアルエディタを使用されることが多いです。そうなると、固定ページもビジュアルエディタ画面で開かれしまい自動整形がなされ、レイアウトが崩れてしまう・・・なんて悲惨な事態が発生してしまいます。

改行の問題だけなら、PS Disable Auto Formattingというプラグインを使用すると、そこそこ解決できます。
が、ネックになってくるのはビジュアルとテキストの切り換えで置き換わってしまう山括弧(< や > )。
ショートコード化して対応することもできますが、なんか力技過ぎてねぇって感じがします。

というわけで、今回は固定ページの編集のときだけ、ビジュアルエディタを強制的にオフにする方法です。

下記をfunctions.phpに記述します。

//固定ページの編集時のみビジュアルエディタを使用できないようにする
function disable_visual_editor_in_page() {
    global $typenow;
    if ($typenow == 'page') {
        add_filter('user_can_richedit', 'disable_visual_editor_filter');
    }
}
function disable_visual_editor_filter() {
    return false;
}
add_action('load-post.php', 'disable_visual_editor_in_page');
add_action('load-post-new.php', 'disable_visual_editor_in_page');

$typenowの判定を変えれば、page以外にも対応可能です。

特定のカスタム投稿タイプでビジュアルエディタをオフにする

//カスタム投稿タイプでビジュアルエディタを利用できないようにする
function disable_visual_editor_in_page(){
    global $typenow;
    if( $typenow == 'ポストタイプ' ){
      add_filter('user_can_richedit', 'disable_visual_editor_filter');
    }
}
function disable_visual_editor_filter(){
    return false;
}
add_action( 'load-post.php', 'disable_visual_editor_in_page' );
add_action( 'load-post-new.php', 'disable_visual_editor_in_page' );

全ての投稿でビジュアルエディタをオフにする

//全ての投稿ページでビジュアルエディタを利用できないようにする
function disable_visual_editor_in_page(){
	add_filter('user_can_richedit', 'disable_visual_editor_filter');
}
function disable_visual_editor_filter(){
 	return false;
}
add_action( 'load-post.php', 'disable_visual_editor_in_page' );
add_action( 'load-post-new.php', 'disable_visual_editor_in_page' );

全ての投稿でオフにするなら、ユーザーの設定で「ビジュアルリッチエディターを使用しない」にチェックを入れる方法もありますが、かつて、納品後にクライアント様がご自分でユーザーを新しく作り、ビジュアルリッチエディターを使ってしまうという事故があったので、私はfunction.phpに記述するようにしています。