Das macht mich absolut verrückt. Ich habe Tage damit verbracht, dies zu beheben, und ich kann nicht herausfinden, warum dies so schwierig ist, da dies sicherlich eine sehr häufige Permalink-Struktur ist!
Ich habe Hunderte von Antworten und Beiträgen durchgesehen und keine davon scheint das Problem zu lösen.
Ich möchte einfach diese Struktur:
mysite.com/custom-post-type/custom-taxonomy-term/post-name
So erreiche ich folgendes:
mysite.com/literature - all literature posts
mysite.com/literature/fiction - all literature posts with 'fiction' term
mysite.com/literature/fiction/mybook - the post
Jedes Mal, wenn ich etwas versuche, erhalte ich 404 Fehler oder die Pagnination funktioniert nicht.
Ich verstehe nicht, warum das so schwer ist!
Jede Hilfe sehr geschätzt!
Vielen Dank
================================================== ==== ================== ZUSÄTZLICHE INFORMATIONEN ==================
Derzeit registriere ich den Beitragstyp und die Taxonomie wie folgt:
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 ),
Wenn ich beide als "Literatur" registriere, erhalte ich auf der Seite mysite.com/literature eine 404, aber dies zeigt meinen Permalink wie folgt an: mysite.com/literature/books/mybook
Befolgen Sie die Anweisungen zu dieser Frage - Benutzerdefinierte Beitragstypen, Taxonomien und Permalinks
Ich habe dies zu meinen Funktionen hinzugefügt:
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);
Und änderte meinen Beitragstyp in 'slug' => 'literature/%literature_category%'
Und änderte meine Taxonomie in'slug' => 'literature'
Dies funktioniert hervorragend, außer dass die mysite.com/literature
Paginierung nicht funktioniert, sodass bei der folgenden URL ein 404-Fehler angezeigt wird:
mysite.com/literature/page/2/