プラグインを使わずにGutenbergを無効化する方法

プラグインを使わずにGutenbergを無効化する方法

プラグインを使わずにGutenbergを無効化する方法

Gutenberg(ブロックエディタ)を無効化するプラグインとして、以前Disable GutenbergClassic Editorを紹介しましたが、今回はプラグインを使わずにGutenbergを無効化する方法をご紹介いたします。

※2018/12/08追記
元々紹介していたフィルターフックの「gutenberg_can_edit_post_type」が、WordPress5.0のリリースによって「use_block_editor_for_post」と「use_block_editor_for_post_type」に変更になったため、コードの内容を編集しました。

プラグインを使わずにGutenbergを無効化する方法

すべての投稿エディターで無効化する

すべての投稿エディターでGutenbergを無効にするには、functions.phpに以下のコードを追加します。

add_filter('use_block_editor_for_post', '__return_false');

上記を追加することで、Gutenbergがすべての投稿エディターで無効化されます。

特定の投稿タイプでのみ無効化する

特定の投稿タイプでのみ無効化したい場合は、以下のように投稿タイプ名を指定してあげます。


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

上記の場合、”news”という投稿タイプでのみGutenbergが無効化されます。投稿タイプ名のところを自サイトに合わせて変更してください。

投稿タイプの追加時に無効化する

投稿タイプをfunctions.phpで追加している場合は、”show_in_rest”をfalseに指定することで、Gutenbergを無効化できます。


function add_custom_post_type() {
  $args = array(
    'label' => 'ニュース',
    'hierarchical' => false,
    'public' => true,
    'menu_position' => 5,
    'has_archive' => true,
    'show_in_rest' => false, //これを追加
    'supports' => array(
      'title',
      'editor',
      'thumbnail'
    )
  );
  register_post_type( 'news', $args );
}
add_action( 'init', 'add_custom_post_type' );

「’show_in_rest’ => false」を追加した投稿タイプでは、Gutenbergが無効化されます。

あとがき

Gutenberg導入の準備が整っていないサイトでは、一旦無効化しておくと良いですね。プラグインを使いたくない場合は、上述した方法をお試しください。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です