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() чтобы обновить пермалинки
Спасибо , обязательно вставлю вызов функции в блок активации