To doprowadza mnie do szaleństwa. Spędzam dni próbując to naprawić i nie mogę zrozumieć, dlaczego jest to tak trudne, ponieważ z pewnością jest to bardzo powszechna struktura permalink!
Przejrzałem setki odpowiedzi i postów i żadna z nich nie rozwiązała problemu.
Chcę po prostu tę strukturę:
mysite.com/custom-post-type/custom-taxonomy-term/post-name
Więc osiągam następujące:
mysite.com/literature - all literature posts
mysite.com/literature/fiction - all literature posts with 'fiction' term
mysite.com/literature/fiction/mybook - the post
Za każdym razem, gdy próbuję czegoś, otrzymuję błędy 404 lub pagnacja nie działa.
Nie rozumiem, dlaczego to takie trudne!
Każda pomoc naprawdę doceniona!
Dziękuję Ci
================================================== ==== ================== INFORMACJE DODATKOWE ==================
Obecnie rejestruję typ postu i systematykę w następujący sposób:
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 ),
Jeśli zarejestruję oba jako „literaturę”, otrzymam 404 na stronie mysite.com/literature, ale wyświetli się mój bezpośredni link jako: mysite.com/literature/books/mybook
Po skorzystaniu z porady na to pytanie - Niestandardowe typy postów, taksonomie i łącza bezpośrednie
Dodałem to do moich funkcji:
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);
I zmieniłem typ postu na 'slug' => 'literature/%literature_category%'
I zmieniłem taksonomię na'slug' => 'literature'
Działa to świetnie, z tym że w przypadku mysite.com/literature
paginacji nie działa, więc pojawia się błąd 404 w następującym adresie URL:
mysite.com/literature/page/2/