Я настроил CPT, скажем, «Фильмы».
'rewrite' => array( 'slug'=>'movies', 'with_front'=>FALSE )
Я добавил таксономию «Жанр».
'rewrite' => array( 'slug'=>'movies/genre', 'with_front'=>FALSE )
я тоже пробовал
'rewrite' => array( 'slug'=>'genre', 'with_front'=>TRUE )
register_taxonomy( 'category_movie', 'movie', $args );
Все работает, но когда я хочу просмотреть некоторые фильмы, например, в категории/таксономии ужасов, это не работает.
Я предположил файл taxonomy-category_movie.php, а если нет, то taxonomy.php
ИЛИ
категория.php
ИЛИ
тег.php
НО НЕТ! WP всегда возвращается к файлу index.php.
Поэтому я решил проверить, что на самом деле делает WP, и добавил
if ( is_home() )
{
echo "<br>IS HOME";
}
if ( is_single() )
{
echo "<br>IS SINGLE";
}
if ( is_singular() )
{
echo "<br>IS SINGULAR";
}
if ( is_front_page() )
{
echo "<br>IS FRONT PAGE";
}
if ( is_page() )
{
echo "<br>IS PAGE";
}
if ( is_category() )
{
echo "<br>IS CATEGORY";
}
if ( is_tag() )
{
echo "<br>IS TAG";
}
if ( is_tax() )
{
echo "<br>IS TAX";
}
но ни одно из сообщений не попало в браузер….
Надеюсь, кто-нибудь знает ответ!!
В документации WordPress есть гигантская диаграмма, показывающая, как он выбирает, какой файл отображать/загружать, как вы можете видеть здесь:
http://codex.wordpress.org/images/1/18/Template_Hierarchy.png
Если это не поможет, мое другое предложение — попытаться удалить «_» из имени таксономии и протестировать с удаленной опцией перезаписи из вашего пользовательского объявления типа записи. По моему опыту, WordPress беспокоится об именах типов, которые добавляют знаки препинания, поэтому я стараюсь придерживаться единственного слова или регистра Camel. Вы можете добиться большего успеха с «жанровой» таксономией.