mozmoz

| ウェブのあれこれ中心のブログです

プラグインを使わずにWordPressの「Gutenberg(ブロックエディタ)」を無効化する方法

2021年1月12日

Gutenbergを無効化する場合はいつも「Classic Editor」を入れていたんですが、この間特定の投稿でのみ無効化するという事案にであったので、プラグインを使用せずにfunction.phpから無効化しました。

例によって防備もかねてご紹介したいと思います!

作業前に必ずバックアップ

まず作業前に。
「function.php」は大事なファイルなので、必ずバックアップを取ってから作業するようにしましょう。
管理画面が真っ白になったりします。
可能であれば、ローカルに環境を作ってテストしてみましょう!

全体的にGutenbergを無効化する

まずは全体的に無効化する場合。
投稿、固定ページ、カスタム投稿、全てが無効化されます。

add_filter( 'use_block_editor_for_post', '__return_false' );

特定の投稿タイプで無効化したい

特定の投稿タイプで無効化したい場合。

固定ページの場合です。

add_filter( 'use_block_editor_for_post_type', 'disable_block_editor', 10, 2 );
function disable_block_editor( $use_block_editor, $post_type ) {
  if ( $post_type === 'page' ) return false;
  return $use_block_editor;
}

カスタム投稿の場合、 投稿を追加する際に【’show_in_rest’ => false】を設定すると無効化できます。

特定のユーザーで無効化する

例えば投稿者のみGudenbergを無効化する場合

ユーザー名が「user」の場合無効化

if ( $current_user -> user_nicename === 'user' ) {
  add_filter( 'use_block_editor_for_post', '__return_false' );
}