Tengo problemas para trabajar con las reglas de reescritura de WordPress, y podría necesitar algo de ayuda.
Tengo un tipo de mensaje personalizado llamado _shows_
.
Todos los programas tienen una única categoría de taxonomía personalizada _show-category_.
A _show_
nunca tendrá más de uno _show-category_
.
Me gustaría que mis URL se encaminen de esta manera:
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
Entonces, como ejemplo del mundo real, digamos que tenemos un _show-category_
"Foo" y una _show_
publicación titulada "Bar" que tiene "Foo" como es _show-category_
. Esperaría que mi aplicación de WordPress se vea así:
www.mysite.com/shows/foo/ => shows all posts under the foo category
www.mysite.com/shows/foo/bar => shows the indivual post
Intento evitar complementos cuando sea posible, pero estoy abierto a cualquier solución.
Respuestas:
Primero, registre su taxonomía y establezca el
slug
argumento derewrite
ashows
:A continuación, registre su tipo de publicación y establezca el slug en
shows/%show_category%
, y establezca elhas_archive
argumento enshows
:Por último, agregue un filtro para
post_type_link
sustituir la categoría de espectáculo en enlaces permanentes de espectáculos individuales:EDITAR
Olvidé el
has_archive
argumento deregister_post_type
arriba, eso debería establecerse enshows
.fuente