gutenberg post_type グーテンベルグエディターをカスタム投稿タイプで使う

WordPress4.9が来月中旬にリリース予定です。テーマで、そろそろグーテンベルグの対応を考え始めている方も少なくないのではないかと思います。

現在は、「実サイトでの使用はしないでください」となっていて、実験したいけど、それ専用のテストサイトを作るのも大変だなって感じていたところに、

gurenberg ver1.5で、gutenberg_can_edit_post_type というフィルターが使えるようになりました。

でも、なぜかこのフィルターが動作しないので、なんでだろうと思っていたら、REST APIの準備が整っていないみたいでした。

プラグインを使って、特定のカスタム投稿タイプでのみ動作するグーテンベルグの設定を行ってみようと思います。

プラグインを有効化していないと、No route was found matching the URL and request method というエラーメッセージが出ます。

プラグインのインストール

REST API Enabler — WordPress Plugins

設定から、RESTAPI Enabler を開いて、使用するカスタム投稿タイプにチェックを入れ保存します。以下の場合は(news)

テーマの、functions.phpに以下のように、使用可能な投稿タイプを指定すると、特定のカスタム投稿だけで、グーテンベルグを表示できるようになります。

add_filter('gutenberg_can_edit_post_type','gutenberg_post_type',10,2);

function gutenberg_post_type( $can_edit, $post_type ){
	
	if( 'news'== $post_type) {
		
		return true;
	}
	return false;
	//No route was found matching the URL and request method
}
[emulsion_relate_posts]