У меня возникают проблемы при работе с правилами переписывания WordPress, и я могу использовать некоторую помощь.
У меня есть пользовательский тип сообщения называется _shows_
.
Все шоу имеют единую пользовательскую таксономическую категорию _show-category_.
А, _show_
которая никогда не будет иметь более одной категории _show-category_
.
Я хотел бы, чтобы мои URL были направлены таким образом:
www.mysite.com/shows/ => archive-shows.php
www.mysite.com/shows/%category%/ => taxonomy-show-category.php
www.mysite.com/shows/%category%/%postname%/ => single-shows.php
Итак, в качестве примера из реального мира, допустим, у нас есть _show-category_
«Foo» и _show_
пост под названием «Bar», который имеет «Foo» _show-category_
. Я ожидаю, что мое приложение WordPress будет выглядеть так:
www.mysite.com/shows/foo/ => shows all posts under the foo category
www.mysite.com/shows/foo/bar => shows the indivual post
Я стараюсь избегать плагинов, когда это возможно, но я открыт для любого решения.
Ответы:
Во- первых, зарегистрировать систематики и установить
slug
аргументrewrite
дляshows
:Затем зарегистрируйте свой тип сообщения и установите slug в
shows/%show_category%
, и установитеhas_archive
аргумент вshows
:Наконец, добавьте фильтр для
post_type_link
замены категории шоу в отдельных постоянных ссылках шоу:РЕДАКТИРОВАТЬ
Забыл
has_archive
аргументregister_post_type
выше, который должен быть установлен вshows
.источник