Así que esto me está volviendo loco. ¡He pasado días tratando de arreglar esto y no puedo entender por qué esto es tan difícil, ya que seguramente es una estructura de enlace permanente muy común!
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
Entonces logro 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 obtengo errores 404 o el paginació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 registro ambos 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 publicaciones personalizadas, taxonomías y enlaces permanentes
He agregado 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 la mysite.com/literature
paginación no funciona, así que obtengo un error 404 en la siguiente URL:
mysite.com/literature/page/2/