Así que esto me está volviendo absolutamente loco. He pasado días tratando de solucionar esto y no puedo entender por qué esto es tan difícil, ¡seguramente esta es una estructura muy común de enlace permanente!
Revisé cientos de respuestas y publicaciones y ninguna de ellas parece resolver el problema.
Simplemente quiero esta estructura:
mysite.com/custom-post-type/custom-taxonomy-term/post-name
Así logré lo siguiente:
mysite.com/literature - all literature posts
mysite.com/literature/fiction - all literature posts with 'fiction' term
mysite.com/literature/fiction/mybook - the post
Cada vez que intento algo, recibo errores 404 o la combinación no funciona.
¡No entiendo por qué esto es tan difícil!
Cualquier ayuda realmente apreciada!
Gracias
=============================================== ======= ================== INFORMACIÓN ADICIONAL ===================
Actualmente estoy registrando el tipo de publicación y la taxonomía de la siguiente manera:
register_post_type('literature',$args);
'rewrite' => array('slug' => 'literature/books','with_front' => false),
register_taxonomy('literature_category',array('literature'), array(
'rewrite' => array( 'slug' => 'literature','with_front' => false ),
Si me registro como "literatura", obtengo un 404 en la página mysite.com/literature pero esto muestra mi enlace permanente como: mysite.com/literature/books/mybook
Después de seguir los consejos sobre esta pregunta, Tipos de correos personalizados, taxonomías y enlaces permanentes
He añadido esto a mis funciones:
function filter_post_type_link($link, $post) {
if ($post->post_type != 'literature')
return $link;
if ($cats = get_the_terms($post->ID, 'literature_category'))
$link = str_replace('%literature_category%', array_pop($cats)->slug, $link);
return $link;
}
add_filter('post_type_link', 'filter_post_type_link', 10, 2);
Y cambié mi tipo de publicación a 'slug' => 'literature/%literature_category%'
Y cambié mi taxonomía a 'slug' => 'literature'
Esto funciona muy bien, excepto que en mysite.com/literature
la paginación no funciona, por lo que recibo un error 404 en la siguiente url:
mysite.com/literature/page/2/