本記事の内容は クラシックエディタ利用時(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
として 直接置く(フォルダ不可)と、管理画面の有効化操作なしで常時有効になります。
コメント