Нет таксономии для поста
Добавил таксономию в файл 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
Спасибо, помогло. У меня ещё вопрос
'supports' => array('title', 'editor', 'author', 'thumbnail'),Почему-то при создании поста добавились все настройки, кроме author. Заранее благодарен за ответ.
поле автор не отображается если у вас только один пользователь с подходящей ролью, создайте еще одного пользователя с ролью автор и тогда оно появится в настройках поста
Понял.
Вы круче Била Гейтса!