Costum Post Typ mit Costum (Sub) Taxonomie

Diese Frage wird wahrscheinlich vorher gestellt, aber meine Sprache ist nicht nativ Englisch. Ich kann die Antwort nicht wirklich finden:

Ich habe einen benutzerdefinierten Posttyp: Produkte und benutzerdefinierte Taxonomie (Hierarchie): Sammlung

in der Taxonomie bekam ich zum Beispiel: – Gemälde (Elternsteuer) – Klassiker (Sub-Steuer) – Modern (Sub-Steuer)

Jetzt möchte ich meine Produkte erreichen über: Sammlung / Gemälde / Classic / Classic-Malerei-1 aber ich habe zwei Probleme:

Problem 1: Untersteuer hat nicht die Elternsteuer in der URL: Sammlung / Gemälde / und dann Sammlung / klassisch / .. es sollte Sammlung / Gemälde / klassisch /

Problem 2: Wenn ich ein Produkt (z. B. classic-painting-1) in Sammlung / Gemälde / es wählt Produkte / classic-painting-1 statt Sammlung / Gemälde / classic / classic-painting-1

Ich hoffe, dass diese große Frage eine einfache Antwort hat, danke im Voraus

Meine Codes für benutzerdefinierten Posttyp und Taxonomie:

// Custom post type add_action('init', 'cptui_register_my_cpt_producten'); function cptui_register_my_cpt_producten() { register_post_type('producten', array( 'label' => 'Producten', 'description' => '', 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'capability_type' => 'post', 'map_meta_cap' => true, 'hierarchical' => true, 'rewrite' => array('slug' => 'producten', 'with_front' => true), 'query_var' => true, 'menu_position' => '1', 'supports' => array('title','editor'), 'taxonomies' => array('category','post_tag','collectie'), 'labels' => array ( 'name' => 'Producten','singular_name' => 'Product','menu_name' => 'Producten','add_new' => 'Add Product','add_new_item' => 'Add New Product','edit' => 'Edit','edit_item' => 'Edit Product','new_item' => 'New Product','view' => 'View Product','view_item' => 'View Product','search_items' => 'Search Producten','not_found' => 'No Producten Found','not_found_in_trash' => 'No Producten Found in Trash','parent' => 'Parent Product', ) ) ); } // Custom taxonomy add_action('init', 'cptui_register_my_taxes_collectie'); function cptui_register_my_taxes_collectie() { register_taxonomy( 'collectie',array ( 0 => 'producten', ), array( 'hierarchical' => true, 'label' => 'Collecties', 'show_ui' => true, 'query_var' => true, 'show_admin_column' => false, 'labels' => array ( 'search_items' => 'Collectie', 'popular_items' => '', 'all_items' => '', 'parent_item' => '', 'parent_item_colon' => '', 'edit_item' => '', 'update_item' => '', 'add_new_item' => '', 'new_item_name' => '', 'separate_items_with_commas' => '', 'add_or_remove_items' => '', 'choose_from_most_used' => '', ) ) ); } 

Solutions Collecting From Web of "Costum Post Typ mit Costum (Sub) Taxonomie"

Wenn Sie einen Beitrag einer Taxonomie zuordnen, wenn Sie ihn sowohl einem übergeordneten als auch einem untergeordneten Begriff zuweisen, wird die oberste Ebene im Permalink verwendet. Wenn Sie nur das Kind auswählen, glaube ich, dass der Elternbegriff ebenfalls angezeigt wird. Ich stimme zu, dass dies nicht ideal ist und Sie vielleicht etwas mit wp_rewrite() aber es gibt einen einfacheren Weg, den übergeordneten Begriff zu erhalten:

Auf der Post-Seite benötigen Sie wp_get_post_terms() . Dies wird ein Array von Begriffen zurückgeben, die mit dem Post verknüpft sind. Wenn Sie nur den Top-Level-Begriff für den Post möchten, übergeben Sie parent = 0 im args-Array, wie ich unten getan habe.

 $args = array( 'parent' => 0 ); $terms = wp_get_post_terms( $post->ID, 'taxonomy_name', $args ); echo '
' . print_r( $terms, 1 ) . '

'; // raw output