Иерархический url для таксономии и записей
-
Добрый день, окончательно запутался с параметром ‘rewrite’, есть таксономия «категория» и свой тип записей «товар», хочу получить url вида /категория/подкатегория/подподкатегория для термов и /категория/подкатегория/подподкатегория/товар для своего типа записей.
на данный момент имеется рабочий вариант:
register_taxonomy( 'catalog-category', array( 'catalog' ), array( 'labels' => array( ... ), 'description' => 'Категории позиций каталога', 'public' => true, 'show_in_rest' => true, 'hierarchical' => true, 'rewrite' => array( 'slug' => 'catalog', 'hierarchical' => false, 'with_front' => false, 'feed' => false ), 'show_admin_column' => true, ) ); register_post_type( 'catalog', array( 'labels' => array( ... ), 'description' => 'Каталог товаров/позиций', 'public' => true, 'show_in_menu' => true, 'show_in_rest' => true, 'capability_type' => 'post', 'map_meta_cap' => true, 'hierarchical' => false, 'rewrite' => array( 'slug' => 'catalog/%catalog-category%', 'with_front' => false, 'pages' => false, 'feeds' => false, 'feed' => false ), 'has_archive' => 'catalog', 'query_var' => true, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', ), 'taxonomies' => array( 'catalog-category' ), 'menu_icon' => 'dashicons-book' ) );
работает, но адреса /catalog/<подподкатегория> для терма и /catalog/<подподкатегория>/<товар> для записи соответственно.
Если в rewrite у таксаномии прописываю
'slug' => '/'
и у записи так же меняю'slug' => '/%catalog-category%'
префикс ‘catalog’ естественным образом пропадает, но при включении в rewrite у таксаномии'hierarchical' => true
, ссылки на термы становятся /<категория>/<подкатегория>/<подподкатегория>, но при обращении получаю 404 ошибку.Если в rewrite у таксаномии оставить
'slug' => '/catalog'
и только включить'hierarchical' => true
, то адреса у термов становятся /catalog/<категория>/<подкатегория>/<подподкатегория> и работают, но ссылки на записи остаются /catalog/<подподкатегория>/<товар> и выдают 404 ошибку, попытка обратиться напрямую по адресу /catalog/<категория>/<подкатегория>/<подподкатегория>/<товар> так же выдает 404.Подскажите, как все же настроить отображение термов(категорий) по иерархическим адресам, желательно без префикса, и к ним же привязать отображение записей(товаров). Казалось бы стандарное формирование url, но никак не получается осилить, как его реализовать на wp.
- Тема «Иерархический url для таксономии и записей» закрыта для новых ответов.