Нет таксономии для поста
Добавил таксономию в файл functions.php
Вот код:
add_action( 'init', 'create_taxonomy' ); function create_taxonomy(){ register_taxonomy('skills', array('portfolio'), array( 'label' => '', // определяется параметром $labels->name 'labels' => array( 'name' => 'Навыки', 'singular_name' => 'Навык', 'search_items' => 'Найти навык', 'all_items' => 'Все навыки', 'view_item ' => 'Смотреть навык', 'parent_item' => 'Родительский навык', 'parent_item_colon' => 'Родительский навык:', 'edit_item' => 'Изменить навык', 'update_item' => 'Обновить навык', 'add_new_item' => 'Добавить новый навык', 'new_item_name' => 'Новое имя навыка', 'menu_name' => 'Навыки', ), 'description' => 'Навыки, которые использовались в работе над проектом', // описание таксономии 'public' => true, 'publicly_queryable' => null, // равен аргументу public 'hierarchical' => false, 'rewrite' => true, ) ); }
Эта таксономия привязывается к постам с Портфолио. Вот код регистрации постов с портфолио:
add_action( 'init', 'register_post_types' ); function register_post_types(){ register_post_type('portfolio', array( 'label' => null, 'labels' => array( 'name' => 'Портфолио', 'singular_name' => 'Портфолио', 'add_new' => 'Добавить работу', 'add_new_item' => 'Добавление работы', 'edit_item' => 'Редактирование работы', 'new_item' => 'Новая работа', 'view_item' => 'Смотреть работу', 'search_items' => 'Искать работу в портфолио', 'not_found' => 'Не найдено', 'not_found_in_trash' => 'Не найдено в корзине', 'parent_item_colon' => '', 'menu_name' => 'Портфолио', ), 'description' => 'Наши работы в портфолио', 'public' => true, 'publicly_queryable' => true, // зависит от public 'exclude_from_search' => false, // зависит от public 'show_ui' => true, // зависит от public 'show_in_menu' => true, // показывать ли в меню адмнки 'show_in_admin_bar' => true, // по умолчанию значение show_in_menu 'show_in_nav_menus' => true, // зависит от public 'show_in_rest' => true, // добавить в REST API. C WP 4.7 'rest_base' => null, // $post_type. C WP 4.7 'menu_position' => 4, 'menu_icon' => 'dashicons-format-gallery', //'capability_type' => 'post', //'capabilities' => 'post', //'map_meta_cap' => null, 'hierarchical' => false, 'supports' => array('title', 'editor', 'author', 'thumbnail'), // 'title','editor','author','thumbnail','excerpt','trackbacks','custom-fields','comments','revisions','page-attributes','post-formats' 'taxonomies' => array('skills'), 'has_archive' => false, 'rewrite' => true, 'query_var' => false, ) ); }
Проблема в чём. Значит, таксономия регистрируется, но почему-то привесить к посту с портфолио возможности нет. Хотя должна быть. По крайней мере в видео по которому я это делаю, всё получается. У меня почему-то нет. Подскажите, пожалуйста, в чём может быть дело. Спасибо.
так как ваша кастомный тип поста использует гутенберг, то нужно добавить в register_taxonomy() параметр ‘show_in_rest’ => true, потому что гутенберг извлекает таксономии используя REST API
Спасибо, помогло. У меня ещё вопрос
Почему-то при создании поста добавились все настройки, кроме author. Заранее благодарен за ответ.
поле автор не отображается если у вас только один пользователь с подходящей ролью, создайте еще одного пользователя с ролью автор и тогда оно появится в настройках поста
Понял.
Вы круче Била Гейтса!