Estou com problemas para trabalhar com as regras de reescrita do WordPress e poderia usar alguma ajuda.
Eu tenho um tipo de postagem personalizado chamado _shows_
.
Todos os shows têm uma única categoria de taxonomia personalizada _show-category_.
A _show_
nunca terá mais de um _show-category_
.
Gostaria que meus URLs fossem roteados desta maneira:
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
Então, como um exemplo do mundo real, digamos que temos um _show-category_
"Foo" e um _show_
post intitulado "Bar" que possui "Foo" como está _show-category_
. Espero que meu aplicativo WordPress fique assim:
www.mysite.com/shows/foo/ => shows all posts under the foo category
www.mysite.com/shows/foo/bar => shows the indivual post
Eu tento evitar plugins quando possível, mas estou aberto a qualquer solução.
Respostas:
Em primeiro lugar, registrar sua taxonomia e definir o
slug
argumento derewrite
queshows
:Em seguida, registre seu tipo de postagem, defina a lesma como
shows/%show_category%
e defina ohas_archive
argumento comoshows
:Por fim, adicione um filtro para
post_type_link
substituir a categoria de show nos links permanentes de show individuais:EDITAR
Esqueceu o
has_archive
argumentoregister_post_type
acima, que deve ser definido comoshows
.fonte