Wie man benutzerdefinierte Taxonomie Slug in CPT Permalink hinzufügen?

Dies ist der Code, den ich bis jetzt habe, um eine CPT- articles und Taxonomieartikel articles-category hinzuzufügen.

Der Code funktioniert, sortiere ab. Die Seiten werden korrekt angezeigt (wenn ich direkt darauf zugreife):

articles/

articles/categ-slug/

articles/categ-slug/post-slug/

Das Problem tritt auf, wenn der Permalink automatisch generiert wird (zB: yoast breadcrumbs)

  Example / Articles / Category name / Post Name 

Beachten Sie https://wordpress.stackexchange.com/questions/204681/how-to-add-custom-taxonomy-slug-in-cpt-permalink/example.com/articles/ articles-category% / wo es nur https://wordpress.stackexchange.com/questions/204681/how-to-add-custom-taxonomy-slug-in-cpt-permalink/example.com/articles/

Was ist falsch im Code und wie kann ich es funktionieren lassen?

 function custom_post_articles() { $labels = array( // labels ); $args = array( 'labels' => $labels, 'public' => true, 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ), 'has_archive' => true, 'hierarchical' => true, 'rewrite' => array('slug' => 'articles/%articles-category%','with_front' => false), 'query_var' => true, //'rewrite' => true, //'publicly_queryable' => false, ); register_post_type( 'articles', $args ); } add_action( 'init', 'custom_post_articles' ); function my_taxonomies_product() { $labels = array( //labels ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'public' => true, 'query_var' => 'articles-category', 'rewrite' => array('slug' => 'articles' ), '_builtin' => false, ); register_taxonomy( 'articles-category', 'articles', $args ); } add_action( 'init', 'my_taxonomies_product', 0 ); add_filter('post_link', 'articles_category_permalink', 1, 3); add_filter('post_type_link', 'articles_category_permalink', 1, 3); function articles_category_permalink($permalink, $post_id, $leavename) { if (strpos($permalink, '%articles-category%') === FALSE) return $permalink; // Get post $post = get_post($post_id); if (!$post) return $permalink; // Get taxonomy terms $terms = wp_get_object_terms($post->ID, 'articles-category'); if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) $taxonomy_slug = $terms[0]->slug; else $taxonomy_slug = 'no-category'; return str_replace('%articles-category%', $taxonomy_slug, $permalink); } 

Solutions Collecting From Web of "Wie man benutzerdefinierte Taxonomie Slug in CPT Permalink hinzufügen?"