Здравствуйте,
Возник вопрос и требуется пояснение…
Есть такая структура произвольных таксономий:
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, то метабокс будет отключен вообще
...
) );
}