WordPress(クラシックエディタ)でビジュアルエディタを完全に無効化する

本記事の内容は クラシックエディタ利用時(Classic Editor プラグインでブロックエディタを無効化、または旧管理画面でクラシック編集画面を使っている場合)を前提としています。

目的

  • 全ユーザーでビジュアルエディタ(TinyMCE)を無効化
  • 投稿画面の「ビジュアル/テキスト」タブを非表示にし、常にテキストモードで編集

functions.php での最小実装(クラシックエディタ想定)

<?php
// 全ユーザーでビジュアルエディタを強制的に無効化(クラシックエディタ前提)
add_filter('user_can_richedit', '__return_false');

/**
 * 投稿/固定ページのクラシック編集画面で「ビジュアル/テキスト」タブを非表示
 * - Classic Editor 利用時の .wp-editor-tabs を対象
 * - ブロックエディタ画面では出力しないよう軽くガード
 */
add_action('admin_head', function () {
    if (!function_exists('get_current_screen')) return;
    $screen = get_current_screen();
    if (!$screen) return;

    // クラシック編集画面っぽいときだけ出力(post.php / post-new.php など)
    $is_classic_like = in_array($screen->base, ['post', 'post-new'], true) && empty($screen->is_block_editor);
    if (!$is_classic_like) return;

    echo '<style>
        /* ビジュアル/テキスト切り替えタブを非表示(クラシックエディタ) */
        .wp-editor-tabs { display: none !important; }
    </style>';
});

ポイント

  • user_can_richedit__return_false にすることでリッチエディタを全体停止
  • get_current_screen() を用いて クラシック編集画面 のときだけ CSS を出力
    $screen->is_block_editor が空のとき=ブロックエディタでないとき)

配布・使い回しに便利:プラグイン版コード

テーマに依存させたくない場合は、下記を disable-classic-visual-editor/disable-classic-visual-editor.php というフォルダ/ファイル構成で設置し、通常のプラグインとして有効化してください。

<?php
/**
 * Plugin Name: Disable Classic Visual Editor (All Users)
 * Description: クラシックエディタ利用時にビジュアルエディタを全ユーザーで無効化し、投稿画面の「ビジュアル/テキスト」タブを非表示にします。
 * Version:     1.0.0
 * Author:      Your Name
 * License:     
 */

// 1) リッチエディタ(TinyMCE)を全ユーザーで無効化
add_filter('user_can_richedit', '__return_false');

// 2) クラシック編集画面のタブを非表示
add_action('admin_head', function () {
    if (!function_exists('get_current_screen')) return;
    $screen = get_current_screen();
    if (!$screen) return;

    // ブロックエディタでは動かさない(Classic Editor 前提)
    $is_classic_like = in_array($screen->base, ['post', 'post-new'], true) && empty($screen->is_block_editor);
    if (!$is_classic_like) return;

    echo '<style>
        /* クラシックエディタのビジュアル/テキスト切替タブを隠す */
        .wp-editor-tabs { display: none !important; }
    </style>';
});

MUプラグインとして強制適用したい場合

上記ファイルを wp-content/mu-plugins/disable-classic-visual-editor.php として 直接置く(フォルダ不可)と、管理画面の有効化操作なしで常時有効になります。

コメント

タイトルとURLをコピーしました