#結論
カスタムフィールドを使っていると特定の投稿タイプ、または特定の固定ページではグーテンベルグ自体がいらないということがあります。
そんなときは以下のコードをfunctions.php
に記述することで実現します。
functions.php
function disable_block_editor( $use_block_editor, $post_type ) {
if( get_the_ID() == 20 ) {
remove_post_type_support( 'page', 'editor' );
return false;
}
return $use_block_editor;
}
add_filter( 'use_block_editor_for_post_type', 'disable_block_editor', 10, 2 );
#解説
まずは2行目のif( get_the_ID() == 20 )
です。
ここでどの投稿タイプ、固定ページなどに対して処理を実行するか指定します。
ここでは投稿IDが20の投稿記事、または固定ページを対象にしています。
使える条件はおよそ以下が使えるので、||
で区切って複数指定もできます。
$post_type === 'post'
$post_type === 'page'
$post_type === 'カスタム投稿タイプ名'
get_the_ID() === '投稿ID'
次に3行目のremove_post_type_support( 'page', 'editor' );
です。
グーテンベルグを無効化しただけではグーテンベルグの前身であるビジュアルエディタが表示されてしまうので、先にこちらを無効化します。
最後はfalseと$use_block_editor
を返しておしまいです。