WordPressで特定のページのみブロックエディターを有効にする

 

WordPressのブロックエディター(Gutenberg)を、特定の固定ページだけは使えるようにしたい。そんな場合の実装方法です。

この方法はポストIDを指定して、それ以外のページ(投稿・固定ページ・カスタムポスト含む)全てでブロックエディター利用不可にします。つまり、「編集」リンクをクリックしても旧来のエディター画面しか開きませんので、ブロックエディターを使えなくするプラグインのClassic Editorが不要となります。


特定ページ以外はブロックエディターを無効にするコード

以下コードをfunctions.phpに追加します。

//指定した固定ページのみブロックエディタを有効化
add_filter( 'use_block_editor_for_post', 'disable_block_editor_for_post', 10, 2 );

function disable_block_editor_for_post( $use_block_editor, $post ) {
  if ( $post->ID !== 1234 ) return false;
  return $use_block_editor;
}

if ( $post->ID !== 1234 )となっているところの“1234”がポストIDになりますので、指定したいページのIDに差し替えてください。


こちらは以下の記事を参考にさせていただきました。

https://www.nxworld.net/wp-disable-gutenberg.html