404 страница при создании нового типа записи
Cоздал дополнительный тип записи с таксономией следующим кодом:
<?php
/*
Plugin Name: Список артистов
Plugin URI:
Description: Позволяет создать список артистов
Version: 1.0
Author: Myakish
Author URI:
*/
register_activation_hook(__FILE__, function() {
// проверяем права пользователя на установку плагинов
if (!current_user_can('activate_plugins')) {
return;
}
});
register_deactivation_hook(__FILE__, function() {
// проверяем права пользователя на деактивацию плагинов
if (!current_user_can('deactivate_plugins')) {
return;
}
});
// Тип данных артисты
function my_artists() {
$labels = array(
'name' => 'Артисты', // основное название для типа записи
'singular_name' => 'Артист', // название для одной записи этого типа
'add_new' => 'Добавить нового', // для добавления новой записи
'add_new_item' => 'Добавление нового артиста', // заголовка у вновь создаваемой записи в админ-панели
'edit_item' => 'Редактирование данных артиста', // для редактирования типа записи
'new_item' => 'Новый артист', // текст новой записи
'all_items' => 'Все артисты', // все записи
'view_item' => 'Смотреть данные артиста', // для просмотра записи этого типа
'search_items' => 'Найти артиста', // для поиска по этим типам записи
'not_found' => 'Артисты не найдены', // если в результате поиска ничего не было найдено
'not_found_in_trash' => 'В корзине ничего нет', // если не было найдено в корзине
'parent_item_colon' => '', // для родителей (у древовидных типов)
'menu_name' => 'Артисты' // название меню
);
$args = array(
'labels' => $labels,
'description' => 'Артисты Государственного Молодёжного Театра на Фонтанке',
'public' => true,
// 'publicly_queryable' => null, // зависит от public
// 'exclude_from_search' => null, // зависит от public
// 'show_ui' => null, // зависит от public
// 'show_in_nav_menus' => null, // зависит от public
'show_in_menu' => true, // показывать ли в меню админки
// 'show_in_admin_bar' => null, // зависит от show_in_menu
'menu_position' => 5,
'menu_icon' => 'dashicons-groups',
'supports' => ['title', 'editor', 'excerpt', 'custom-fields',' author', 'thumbnail', 'comments', 'revisions'], // 'title','editor','author','thumbnail','excerpt','trackbacks','custom-fields','comments','revisions','page-attributes','post-formats'
'hierarchical' => false,
// 'show_ui' => true,
// 'show_in_nav_menus' => true,
'has_archive' => false,
'can_export' => true,
'exclude_from_search' => false,
// 'yarpp_support' => true,
'taxonomies' => ['type_artist'],
'capability_type' => 'post',
'rewrite' => true,
'query_var' => true,
);
register_taxonomy( 'type_artist', 'artist',
array(
'hierarchical' => true,
'label' => __( 'Типы сотрудничества' ),
'rewrite' => array( 'slug' => 'type_artist' ),
)
);
register_post_type( 'artist', $args );
}
add_action( 'init', 'my_artists' );
// Тип данных артисты END
Задается не в function.php, а в виде mu-плагина.
Вроде всё хорошо в админке - всё создается, дополнительные поля присваиваются, НО! при попытке посмотреть страницу даёт 404 ошибку!
Подскажите, с чем это может быть связано? Ума не приложу в чём дело и с чего можно начать?
Может поможет
зайдите в настройки постоянных ссылок "permalink" , ничего не меняйте, просто нажмите сохранить "save changes"
Когда что-то новое добавляете, по типу новых ссылок из-за таксономий и прочего , нужно обновлять "постоянные ссылки".
Спасибо, помогло
Не знал, что и думать 
еще неплохая практика при создании кастомных типов записей в функции register_activation_hook, register_deactivation_hook добавить вызов flush_rewrite_rules() чтобы обновить пермалинки
Спасибо
, обязательно вставлю вызов функции в блок активации