フリーランス|WEB 制作経験丸7年、制作会社様からのご依頼に丁寧・高クオリティでお手伝いいたします。 IRODORI DESIGN

B L O G

【WordPress】テキストエディタを無効にする方法

WordPress
カスタマイズ
テキストエディタ
無効化

現在のWordPressのエディタはブロックエディタが標準になっています。
しかし、古いバージョンのWordPressや、設定によってはビジュアルエディタとテキストエディタが標準の場合があります。
そんな時、ビジュアルエディタで書いている時にテキストエディタに切り替えたり、テキストエディタで書いている時にビジュアルエディタに切り替えるとレイアウトが崩れてしまうことがあります。
そんなことが起こらないように、使えるエディタをどちらか1つだけにするようにカスタマイズすることが出来ます。

この記事ではテキストエディタを無効にして、ビジュアルエディタだけを使えるようにする方法をご紹介したいと思います。

反対にビジュアルエディタを無効にする方法は以下の記事でご紹介しています。

旧エディタに切り替える

この記事でご紹介しているエディタは旧エディタです。

以下のコードをfunctions.phpに記述して旧エディタに切り替得る必要があります。

/* 旧エディタに変更する */
add_filter( 'use_block_editor_for_post', '__return_false' );

このコードを記述することでエディタは以下のようになります。

この画像の中にあるタブの「テキスト」を非表示にして、以下のように「ビジュアル」のみにします。

テキストエディタを無効にする

ここからがテキストエディタを無効にする方法のご紹介です。

全てのページ

全てのページでテキストエディタを無効にする場合は以下のコードをfunctions.phpに記述します。

/* 全てのページのテキストエディタを無効にする */
add_filter( 'wp_editor_settings', function ( $settings ) {
    if ( user_can_richedit() ) {
        $settings['quicktags'] = false;
    }
    return $settings;
});

投稿のみ

投稿のみテキストエディタを無効にする場合は以下のコードをfunctions.phpに記述します。

/* 投稿のみテキストエディタを無効にする */
add_action( 'load-post.php', 'disable_html_editor_in_post' );
add_action( 'load-post-new.php', 'disable_html_editor_in_post' );
function disable_html_editor_in_post() {
    global $typenow;
    if ( $typenow == 'post' ) {
        add_filter( 'wp_editor_settings', function ( $settings ) {
            if ( user_can_richedit() ) {
                $settings['quicktags'] = false;
            }
            return $settings;
        });
    }
}

固定ページのみ

固定ページのみテキストエディタを無効にする場合は以下のコードをfunctions.phpに記述します。

/* 固定ページのみテキストエディタを無効にする */
add_action( 'load-post.php', 'disable_html_editor_in_post' );
add_action( 'load-post-new.php', 'disable_html_editor_in_post' );
function disable_html_editor_in_post() {
    global $typenow;
    if ( $typenow == 'page' ) {
        add_filter( 'wp_editor_settings', function ( $settings ) {
            if ( user_can_richedit() ) {
                $settings['quicktags'] = false;
            }
            return $settings;
        });
    }
}

指定したカスタム投稿のみ

指定したカスタム投稿のみテキストエディタを無効にする場合は以下のコードをfunctions.phpに記述します。

/* 指定したカスタム投稿のみテキストエディタを無効にする */
add_action( 'load-post.php', 'disable_html_editor_in_post' );
add_action( 'load-post-new.php', 'disable_html_editor_in_post' );
function disable_html_editor_in_post() {
    global $typenow;
    if ( $typenow == '●●●' ) {
        add_filter( 'wp_editor_settings', function ( $settings ) {
            if ( user_can_richedit() ) {
                $settings['quicktags'] = false;
            }
            return $settings;
        });
    }
}

●●●の部分にはカスタム投稿タイプ名を指定します。

まとめ

Web制作を行わない一般のユーザーが対象のWebサイトの場合はテキストエディタを非表示にしておき、ビジュアルエディタだけ使えるようにしておくことオススメします。
functions.phpにコードを記述するだけなので出来れば対応しておきたいですね。