Пользовательская таксономия не отображается при добавлении нового произвольного типа записи

3 февр. 2019 г., 21:13:09
Просмотры: 20.5K
Голосов: 9

Я добавил таксономию и произвольный тип записи, но по какой-то причине моя таксономия не отображается при добавлении нового маркера. Я ожидал, что она будет там, как при выборе категории для записи, но её нет. Есть идеи, в чем может быть проблема?

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); 

Как видите, таксономия не отображается. Она должна появиться в правой колонке, точно так же, как категории отображаются в записях.

Таксономия не отображается в правой колонке

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

На вкладке "Настройки экрана" убедитесь, что ваша таксономия выбрана.

Milo Milo
3 февр. 2019 г. 21:34:10

На странице "Добавить новую" нет настроек экрана, но на странице обзора моих пользовательских записей они есть, и моя таксономия там отмечена.

Michiel Standaert Michiel Standaert
3 февр. 2019 г. 21:51:26

Добавил изображение, чтобы вы могли увидеть :)

Michiel Standaert Michiel Standaert
3 февр. 2019 г. 21:59:17
Все ответы на вопрос 3
3
38

Редактор Гутенберг зависит от REST API, поэтому и типы записей, и таксономии требуют, чтобы параметр show_in_rest был установлен в значение true при их регистрации. Ваш тип записи имеет этот параметр, но он отсутствует в вашей таксономии.

3 февр. 2019 г. 22:49:05
Комментарии

Спасибо!!!! Это помогло мнеееееее

Himechi90 Himechi90
3 сент. 2020 г. 10:08:09

спасибо за это!

tiadotdev tiadotdev
7 сент. 2022 г. 21:31:54

Потрясающе! Спасибо!

Я бился с этим больше часа, проверяя всевозможные вещи, и в итоге выяснил, что проблема возникала только когда я использовал параметр show_in_rest => true при регистрации моего CPT.

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

Steve C. Steve C.
19 окт. 2023 г. 23:41:51
0

Необходимо добавить в register_post_type

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

Вот так. У меня это работает.

23 мар. 2022 г. 15:23:18
0

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

15 мая 2024 г. 01:33:04