N
N
Nikolay2020-07-31 13:08:32
Taxonomy
Nikolay, 2020-07-31 13:08:32

How to display parent custom taxonomy in template?

Hello!
I can’t deal with such a thing...

An arbitrary book post type has been created on the site, the
taxonomies zhanry, avtory, etc. have also been registered.

Posts archive template: /book/, archive-book.php - Works
Posts display template: /avtory/avtor-1/, taxonomy-avtory.php - Works

But I can't connect a template for a page like /avtory/ or /zhanry /
Everything goes either to index.php or to home.php

I tried to create a static page with the zhanry slug and specify a template - it doesn't work either.

Through the filter, the template is also assigned only to /zhanry/zhanr-1/

// фильтр передает переменную $template - путь до файла шаблона.
// Изменяя этот путь мы изменяем файл шаблона.
add_filter('template_include', 'my_template');
function my_template( $template ) {

# шаблон для страниц для выводо таксономий "Календари"
  if ( is_tax( 'zhanry' ) ) {
    return get_stylesheet_directory() . '/category-zhanry.php';
  }

  return $template;

}

Guys... How to assign a template to the page /zhanry/??? I've been suffering for a week now...

Here's the taxonomy:

/* Регистрация произвольного типа записи book */
add_action('init', 'my_custom_init');
function my_custom_init(){
  register_post_type('book', array(
    'labels'             => array(
      'name'               => 'Книги', // Основное название типа записи
      'singular_name'      => 'Книгу', // отдельное название записи типа Book
      'add_new'            => 'Добавить',
      'add_new_item'       => 'Добавить новую книгу',
      'edit_item'          => 'Редактировать книгу',
      'new_item'           => 'Новая книга',
      'view_item'          => 'Посмотреть книгу',
      'search_items'       => 'Найти книгу',
      'not_found'          =>  'Книг не найдено',
      'not_found_in_trash' => 'В корзине книг не найдено',
      'parent_item_colon'  => '',
      'menu_name'          => 'Книги'

      ),
    'public'             => true,
    'publicly_queryable' => true,
    'show_ui'            => true,
    'show_in_menu'       => true,
    'query_var'          => true,
    'rewrite'            => true,
    'capability_type'    => 'post',
    'has_archive'        => 'book',
    'hierarchical'       => true,
    'menu_position'      => 2,
    'menu_icon'          => 'dashicons-book-alt',

    'supports'           => array('title','editor','author','thumbnail','excerpt','comments'),
    'taxonomies' => 'zhanry',
  ) );
}

/* Регистрация произвольных таксономий */

add_action( 'init', 'mayak_taxonomy_register' );
function mayak_taxonomy_register(){

    $labels = array(
      'name'              => 'Жанры',
      'singular_name'     => 'Жанр',
      'menu_name'         => 'Жанры' ,
      'all_items'         => 'Все жанры',
      'edit_item'         => 'Редактировать жанр',
      'view_item'         => 'Посмотреть жанр',
      'update_item'       => 'Сохранить жанр',
      'add_new_item'      => 'Добавить жанр',      
      'parent_item'       => 'Родительскаий жанр',
      'search_items'      => 'Поиск по жанрам',
      'back_to_items'     => 'Назад на страницу жанров',
      'most_used'         => 'Популярные жанры', //get_taxonomy_labels()
    );
  $args = array(
    'labels'            => $labels,
    'show_admin_column' => true,
    'hierarchical'      => true,
  );
register_taxonomy('zhanry', array('book'), $args);

    $labels = array(
      'name'              => 'Авторы',
      'singular_name'     => 'Автор',
      'menu_name'         => 'Авторы' ,
      'all_items'         => 'Все авторы',
      'edit_item'         => 'Редактировать автора',
      'view_item'         => 'Посмотреть автора',
      'update_item'       => 'Сохранить автора',
      'add_new_item'      => 'Добавить автора',      
      'parent_item'       => 'Родительская категория',
      'search_items'      => 'Поиск по авторам',
      'back_to_items'     => 'Назад на страницу авторов',
      'most_used'         => 'Популярные авторы', //get_taxonomy_labels()
    );
  $args = array(
    'labels'            => $labels,
    'show_admin_column' => true,
    'hierarchical'      => true,
  );
register_taxonomy('avtory', array('book'), $args);

Answer the question

In order to leave comments, you need to log in

2 answer(s)
P
Pavel Chesnokov, 2020-07-31
@Dream58

Here's a map to help you:
5f240208be53b172207465.png

N
Nikolay, 2020-08-03
@Dream58

The question is still valid

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question