Пользовательская таксономия не отображается при добавлении нового произвольного типа записи
Я добавил таксономию и произвольный тип записи, но по какой-то причине моя таксономия не отображается при добавлении нового маркера. Я ожидал, что она будет там, как при выборе категории для записи, но её нет. Есть идеи, в чем может быть проблема?
function register_mm_post_types()
{
register_taxonomy('marker_types',
array('markers'),
array(
'labels' => array(
'name' => __('Тип маркера', 'moxxie'),
'singular_name' => __('Тип маркера', 'moxxie'),
'search_items' => __('Поиск типов маркеров', 'moxxie'),
'all_items' => __('Все типы маркеров', 'moxxie'),
'parent_item' => __('Родительский тип маркера', 'moxxie'),
'parent_item_colon' => __('Родительский тип маркера:', 'moxxie'),
'edit_item' => __('Редактировать тип маркера', 'moxxie'),
'update_item' => __('Обновить тип маркера', 'moxxie'),
'add_new_item' => __('Добавить новый тип маркера', 'moxxie'),
'new_item_name' => __('Название нового типа маркера', 'moxxie'),
'menu_name' => __('Типы маркеров', 'moxxie')
),
'show_ui' => true,
'query_var' => true,
'hierarchical' => true,
'show_admin_column' => true,
'rewrite' => array('slug' => 'marker_types')
));
register_post_type('markers',
array( 'taxonomies' => array('marker_types'),
'labels' => array(
'name' => __('Маркеры карты', 'moxxie'),
'singular_name' => __('Маркер', 'moxxie'),
'add_new' => __('Добавить новый маркер', 'moxxie'),
'edit_item' => __('Редактировать маркер', 'moxxie'),
'new_item' => __('Новый маркер', 'moxxie'),
'view_item' => __('Просмотреть маркер', 'moxxie'),
'search_items' => __('Поиск по картам', 'moxxie'),
'not_found' => __('Маркеры не найдены', 'moxxie'),
'not_found_in_trash' => __('В корзине маркеры не найдены', 'moxxie')
),
'has_archive' => true,
'show_in_rest' => true,
'hierarchical' => true,
'public' => true,
'menu_icon' => 'dashicons-location',
'capability_type' => 'post'
));
}
add_action('init', 'register_mm_post_types', 1);
Как видите, таксономия не отображается. Она должна появиться в правой колонке, точно так же, как категории отображаются в записях.

Потрясающе! Спасибо!
Я бился с этим больше часа, проверяя всевозможные вещи, и в итоге выяснил, что проблема возникала только когда я использовал параметр show_in_rest => true при регистрации моего CPT.
Я даже проконсультировался с ИИ, чтобы узнать его мнение, и он прямо сказал НЕ добавлять это в регистрацию таксономии. :D Добавление этого параметра сработало идеально!

Необходимо добавить в register_post_type
'has_archive' => true, // Включает архив для типа записи
'show_in_rest' => true, // Включает поддержку REST API
'taxonomies' => array('marker_types'), // Подключает таксономию marker_types
Вот так. У меня это работает.

Для всех, кто использует таксономии плагина Custom Post Types UI https://wordpress.org/plugins/custom-post-type-ui/, необходимо убедиться, что в разделе CPT UI → Добавить/Редактировать таксономии отмечена опция "Показывать в REST API". Вероятно, это эквивалентно тому, что @Milo упомянул, устанавливая параметр show_in_rest
= true
.
