【WordPress】カスタム投稿でブロックエディターが有効にならない場合の対処法

こんにちは、ryohei(@ityryohei)です!

本記事では、WordPressのカスタム投稿でブロックエディターが有効にならない場合の対処法をご紹介しています。

WordPressにカスタム投稿を追加したんだけど、ブロックエディタが有効にならない…どうすればいいんだろう?

上記の疑問にお答えします。

では、解説していきます。

カスタム投稿でブロックエディタを使うにはshow_in_restをtrueにする必要がある

カスタム投稿でブロックエディタを有効にするには、show_in_resttrueにする必要があります。show_in_restは、カスタム投稿の WP REST APIを有効にする設定ですが、ブロックエディターを使用する場合は有効にしておく必要がある設定項目です。

参考:関数リファレンス/register post type

カスタム投稿の追加に良く使用されるプラグインのCPT UIでは、下記の項目名で表示されています。

REST API で表示デフォルト:真

CPT UIでは、show_in_restはデフォルトで有効になっているのでデフォルトのままご使用いただければと思います。

show_in_restの設定例

WordPressにお知らせの投稿タイプを追加します。CPT UIのコードをほとんどそのまま流用していますので、必要な行だけコピーしてご利用ください。

function register_my_cpts() {

	$labels = [
		"name" => __( "お知らせ" ),
		"singular_name" => __( "お知らせ" ),
	];

	$args = [
		"label" => __( "お知らせ" ),
		"labels" => $labels,
		"description" => "",
		"public" => true,
		"publicly_queryable" => true,
		"show_ui" => true,
		"show_in_rest" => true,
		"rest_base" => "",
		"rest_controller_class" => "WP_REST_Posts_Controller",
		"has_archive" => true,
		"show_in_menu" => true,
		"show_in_nav_menus" => true,
		"delete_with_user" => false,
		"exclude_from_search" => false,
		"capability_type" => "post",
		"map_meta_cap" => true,
		"hierarchical" => true,
		"rewrite" => [ "slug" => "news", "with_front" => true ],
		"query_var" => true,
		"supports" => [ "title", "editor", "thumbnail", "custom-fields" ],
		"show_in_graphql" => false,
	];

	register_post_type( "news", $args );
}
add_action( 'init', 'register_my_cpts' );

もしshow_in_resttrueにしてもブロックエディタが表示されない場合は他に原因があります。Classic Editorが入っていないか、エディタに関連する設定に問題ないか、一度見直してみてください。

最後に

本記事の内容は、少し前にプラグインを使用せずにサイトを構築した際、自前のコードを使って追加したカスタム投稿でブロックエディタが有効にならなかったため、WordPressのドキュメントを参考に対応したものになります。もし自前のコードで追加したカスタム投稿でブロックエディタが使えない場合は、本記事の内容で解消されるか試してみてくださいね。

以上、WordPressのカスタム投稿でブロックエディターが有効にならない場合の対処法のご紹介でした!

おすすめの書籍

Adobe Creative Cloudを通常価格で購入していませんか?

Adobe Creative Cloud(Adobe CC)はAdobe社が提供するクリエイター向けのサービスです。WEB制作の幅を広げる「Photoshop・Illustrator・XD」Youtuberや動画クリエイターの編集作業に欠かせない「Premiere Pro・After Effects」など全20以上のアプリが提供されており、幅広いプランが用意されています。

コンプリートプランはAdobe CCの全20以上のアプリが使用できるプランです。多くのアプリが使用できるため定価で購入すると年間7万円以上するプランですが、デジタルハリウッドのAdobeマスター講座では「基礎動画教材+Adobe CC コンプリートプラン(12ヵ月)」がセットになって39,980円(税込)で利用できます。定価より安価にAdobe Creative Cloudのライセンスを購入でき、以降のライセンス更新も可能。動画教材で基礎スキルを習得できるので、入門する方にも便利な講座です。詳しくは下記のリンクからチェックしてみてくださいね。

Adobeマスター講座はこちら