Добавление типа поста и таксономии в Gutenberg

Иногда бывает, что вы регистрируете произвольный тип записи и когда переходите в создание нового поста, он открывается в Classic Editor, либо регистрируете произвольную таксономию, но список элементов этой таксономии просто не появляется в Gutenberg.

Почему это может происходить и как это исправить? Давайте разберёмся по порядку.

Если вам интересен Gutenberg и вы бы хотели научиться создавать блоки для него, то как раз на этот случай у меня на сайте есть видеокурс.

1. Тип поста не открывается в редактировании в Gutenberg

Всё, что вам требуется сделать, это при регистрации типа поста указать параметр show_in_rest равным true. Потому что иначе ваш зарегистрированный тип не будет доступен в REST API WordPress, а значит Gutenberg просто не может получить к нему доступ.

Например:

register_post_type( 'menu', array(
 
	...
 
	'show_in_rest' => true, // включаем тип в REST API для Gutenberg
 
	... 
 
) );

После этого всё сразу станет хорошо:

Доступность зарегистрированного произвольного типа записи в Gutenberg

2. Категории таксономии недоступны для выбора в сайдбаре Gutenberg

Так как у таксономий нет своего редактора, поэтому под недоступностью для Gutenberg подразумевается то, что когда вы редактируете в Gutenberg пост, ассоциированный с этой таксономией, в нём таксономия не будет доступна для выбора. То есть её просто нет там.

На самом деле у функции register_taxonomy() так же есть параметр show_in_rest, который нужно установить в значение true.

register_taxonomy( 
	'dish_type',
	array( 'menu' ),
	array(
 
		...
 
		'show_in_rest' => true, // включаем таксономию в REST API для Gutenberg
 
		... 
	)
) );

В итоге:

включаем таксономию в Gutenberg

Ну и конечно не забывайте, что обе функции – и register_post_type() и register_taxonomy() должны вызываться только внутри хука init.

Миша

Недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Комментарии — 3

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.