@Legal2019
Всё в имени моём... и радость и печаль...

Ошибка 404 при переходе на страницу таксономии, что не так?

Здравствуйте,
Возник вопрос и требуется пояснение…
Есть такая структура произвольных таксономий:
http://localhost:8089/stati/post/
где,
stati — созданная произвольная таксономия;
post — созданная в произвольной таксономии рубрика (терм).
В рубрике произвольной таксономии мы видим наименование и кол-во записей входящие в эту рубрику. Если мы пытаемся открыть эту рубрику, то по адресу: http://localhost:8089/stati/post/выдаёт ошибку 404.
Вопрос 1:
Почему выдаёт ошибку?
Вопрос 2:
Почему при наличии archive-stati.php открывается произвольная таксономия (localhost:8089/stati/)?
А при taxonomy-stati.php (при отсутствии archive-stati.php) выводит на archive.php???
Код такой (кратко):
add_action( 'init', 'true_register_stati' ); // Использовать функцию только внутри хука init

function true_register_stati() {
  $labels = array(
    'name' => 'Статьи',
...
  );
  $args = array(
    'labels' => $labels,
    'description' => __( 'Description.', 'your-plugin-textdomain' ), // (строка) краткий описательный обзор того, что пост типа.
    'query_var' => true, //  устанавливает query_var ключ для данного типа пост. По умолчанию ключ $post_type. Если false, Тип сообщения не может быть загружен в ?{query_var} = {post_slug}. Если задан как строка, то запрос ?{query_var_string} = {post_slug} будет действительным.
    'rewrite' => array( 'slug' => 'stati' ),
...
  );
  register_post_type('stati',$args);
}


add_action('init', 'create_stati_taxonomy');
function create_stati_taxonomy(){
	register_taxonomy('stati', array('stati'), array(
		'label'                 => '', // определяется параметром $labels->name
		'labels'                => array(
			'name'              => 'Рубрики',
			'singular_name'     => 'Вы тут', // Отображает фразу до наименования. К примеру: "Это рубрика:  | наименование рубрики | "
			'search_items'      => 'Найти рубрики',
			'all_items'         => 'Все рубрики',
			'view_item '        => 'Просмотр рубрики',
			'parent_item'       => 'Родительская рубрика',
			'parent_item_colon' => 'Parent Genre:',
			'edit_item'         => 'Изменить рубрику',
			'update_item'       => 'Обновить рубрику',
			'add_new_item'      => 'Добавить новую рубрику',
			'new_item_name'     => 'New Genre Name',
			'menu_name'         => 'Рубрики',
		),
		'description'           => '', // описание таксономии
		'public'                => true,
		'publicly_queryable'    => null, // равен аргументу public
		'show_in_nav_menus'     => true, // равен аргументу public
		'show_ui'               => true, // равен аргументу public
		'show_in_menu'          => true, // равен аргументу show_ui
		'show_tagcloud'         => true, // равен аргументу show_ui
		'show_in_rest'          => null, // добавить в REST API
		'rest_base'             => null, // $taxonomy
		'hierarchical'          => true, //false,
		'update_count_callback' => '',
		'rewrite'               => true,
		//'query_var'             => $taxonomy, // название параметра запроса
		'capabilities'          => array(),
		'meta_box_cb'           => null, // callback функция. Отвечает за html код метабокса (с версии 3.8): post_categories_meta_box или post_tags_meta_box. Если указать false, то метабокс будет отключен вообще
...
	) );
}
  • Вопрос задан
  • 409 просмотров
Пригласить эксперта
Ответы на вопрос 1
lamer350
@lamer350
กำลังสูงสุด
Это все потому что вы не разобрались в вопросе, посмотрите внимательно свой код:
stati - это не таксономии, это custom post!!
post - в вашем случае будет таксономией!

А теперь внимательно посмотрите свой код, особенно строчку: register_taxonomy('stati', array('stati'), array(
Какую вы таксономию регистрируете?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы