Не переживайте — все таксономии целые и невредимые. Причина в том, что Гутенберг извлекает таксономии используя REST API. И скорее всего вы просто не включили его поддержку при регистрации таксономии.
Как исправить
Таксономии регистрируются чаще всего в functions.php темы. Открываем его, находим вызов register_taxonomy() и добавляем в него ‘show_in_rest’ => true. Это нужно сделать для всех таксономий.
Рабочий пример с одного из сайтов, где для записей регистрируется дополнительная таксономия «Бренды».
register_taxonomy( 'brands', 'post', array( <br> 'hierarchical' => true, <br> 'label' => 'Бренды', <br> 'query_var' => true, <br> 'rewrite' => true, <br> 'show_in_rest' => true,<br> // REST API<br> 'rest_base' => 'brands'<br> ));
На одном из сайтов проблема разрешилась не до конца: блок таксономии появился, но термины по-прежнему не отображались. Выяснилось, что один из плагинов модифицировал маршруты. Если вы столкнулись с похожей проблемой, регистрируйте таксономию с указанием rest_base и rest_controller_class.
- rest_base — параметр, меняющий дефолтное название типа записи в URL. Например, если указать в rest_base = ‘brand’, то вместо wp-json/wp/v2/brands/ мы получим маршрут wp-json/wp/v2/brand.
- rest_controller_class — подкласс WP_REST_Controller, по умолчанию используется WP_REST_Posts_Controller.
Таким образом, регистрация таксономии будет выглядеть так:
register_taxonomy( 'brands', 'post', array( 'hierarchical' => true, 'label' => 'Бренды', 'query_var' => true, 'rewrite' => true, 'show_in_rest' => true, // REST API 'rest_base' => 'brands', 'rest_controller_class' => 'WP_REST_Terms_Controller', ));
Теперь точно все будет работать.
Я получаю много негативных отзывов по Гутенбергу в комментариях и лично. Иногда складывается такое ощущение, как будто это все придумал я.
Гутенберг — это требование времени.
Да, он все еще сырой, но это не навсегда.
Да, он работает некорректно с некоторыми темами, и с этим придется что-то делать.
Да, он сильно отличается от классического редактора и к нему нужно привыкать.
Но в целом, Гутенберг — это огромный шаг вперед.
И я верю, что все будет хорошо!