WordPress как на ладони
eurobyte.ru - мощные сервера с Дата-центрами в Нидерландах и Москве. От 159 ₽/мес.

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 ошибку!

Подскажите, с чем это может быть связано? Ума не приложу в чём дело и с чего можно начать?

0
Myakish
4.5 лет назад 20
  • 2
    kolshix779 paxtoy.com

    Может поможет

    зайдите в настройки постоянных ссылок "permalink" , ничего не меняйте, просто нажмите сохранить "save changes"

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

    Myakish 4.5 лет назад

    Спасибо, помогло smile Не знал, что и думать smile

    Комментировать
  • 0
    Glum697

    еще неплохая практика при создании кастомных типов записей в функции register_activation_hook, register_deactivation_hook добавить вызов flush_rewrite_rules() чтобы обновить пермалинки

    Myakish 4.5 лет назад

    Спасибо smile, обязательно вставлю вызов функции в блок активации

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация