Ein benutzerdefinierter Posttyp mit zwei unterschiedlichen URL-Strukturen basierend auf dem Taxonomiebegriff

Ich habe einen cpt Anime und es hat post_type Taxonomie mit Begriff Anime und Animation

anime(cpt): (site domain)/anime/post title | |-(tax)Anime |-(tax)Animation 

Und meine URL-Struktur ist wie: (Site-Domain) / Anime / Post-Titel, aber ich möchte diese Art von URLs:

 anime | |-(tax)Anime: (site domain)/anime/post title |-(tax)Animation: (site domain)/animation/post title 

Ich weiß wirklich nicht, wie ich es bauen soll.

Solutions Collecting From Web of "Ein benutzerdefinierter Posttyp mit zwei unterschiedlichen URL-Strukturen basierend auf dem Taxonomiebegriff"

Bitte überprüfen Sie dieses Plugin https://wordpress.org/plugins/rewrite/

Es besagt, dass dieses Plugin ein benutzerdefiniertes Neuschreiben erstellen kann, ohne PHP-Code zu berühren

Nach vielen Versuchen und Fehlern finde ich meine Lösung:

 add_filter('post_type_link', 'events_permalink_structure', 10, 4); function events_permalink_structure($post_link, $post, $leavename, $sample){ $types=wp_get_object_terms( $post->ID, 'post_types' ); if (( 'animation' == $types[0]->slug )or ( 'comic' == $types[0]->slug )) { $post_link = str_replace( array('/anime/','/manga/'), '/'.$types[0]->slug.'/', $post_link ); } return $post_link; } add_action('init','animation_init'); function animation_init() { global $wp,$wp_rewrite,$wp_query; $wp_rewrite->add_rule('^comic/([^/]*)/?$','index.php?post_type=manga&name=$matches[1]', 'top'); $wp_rewrite->add_rule('^animation/([^/]*)/?$','index.php?post_type=animes&name=$matches[1]', 'top'); // Once you get working, remove this next line //$wp_rewrite->flush_rules(false); } 

Aber jetzt habe ich ein neues Problem, meine alten URLs funktionieren immer noch wie:

http://animup.net/anime/the-avidages-of-brer-rabbit/ (sollte redirect) http://animup.net/animation/the-avidages-of-brer-rabbit/