Então isso está me deixando absolutamente louco. Passei dias tentando consertar isso e não consigo entender por que isso é tão difícil, pois certamente essa é uma estrutura permalink muito comum!
Examinei centenas de respostas e postagens e nenhuma delas parece resolver o problema.
Eu simplesmente quero essa estrutura:
mysite.com/custom-post-type/custom-taxonomy-term/post-name
Então, eu alcanço o seguinte:
mysite.com/literature - all literature posts
mysite.com/literature/fiction - all literature posts with 'fiction' term
mysite.com/literature/fiction/mybook - the post
Sempre que tento algo, obtenho erros 404 ou a paginação não funciona.
Eu não entendo por que isso é tão difícil!
Qualquer ajuda realmente apreciada!
Obrigado
==================================================== ==== ================== INFORMAÇÃO ADICIONAL ==================
Atualmente, estou registrando o tipo de postagem e taxonomia da seguinte maneira:
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 ),
Se eu registrar ambos como 'literatura', recebo um 404 na página mysite.com/literature, mas isso exibe meu link permanente como: mysite.com/literature/books/mybook
Depois de seguir o conselho sobre esta pergunta - tipos de postagens, taxonomias e links permanentes personalizados
Eu adicionei isso às minhas funções:
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);
E alterei meu tipo de postagem para 'slug' => 'literature/%literature_category%'
E alterei minha taxonomia para'slug' => 'literature'
Isso funciona muito bem, exceto que na mysite.com/literature
paginação não funciona, então eu recebo um erro 404 no seguinte URL:
mysite.com/literature/page/2/