web-dev-qa-db-fra.com

Hiérarchie de taxonomie personnalisée pour les types de publication personnalisés (par exemple, catégories et sous-catégories)

Je travaille sur la création de taxonomies personnalisées pour un type de publication personnalisé que j'ai créé.

Le type de publication personnalisé est Products. Pour le type de message personnalisé, Products, j'ai créé une taxonomie de Category. Maintenant, sous Category, j'aimerais avoir une taxonomie de Sub_Category. J'ai créé toutes les taxonomies et les ai définies sur hiérarchique, mais la taxe Sub_Category semble être relative au type de publication personnalisé Product, PAS à la taxonomie personnalisée Category. Y a-t-il un moyen de faire cela? J'ai vu une capture d'écran où quelqu'un remplissait un formulaire de taxonomie pour une taxonomie créée par celui-ci. Il y avait une option pour PARENT, mais je ne pouvais jamais l'obtenir. Comment choisir une taxonomie PARENT Category sur ma taxonomie SubCategory?

Voici mon code de taxonomie Category et SubCategory:

function create_productcategory_taxonomy() {
    $labels = array(
        'name' => _x( 'Categories', 'taxonomy general name' ),
        'singular_name' =>_x( 'Category', 'taxonomy singular name' ),
        'search_items' =>  __( 'Search Categories' ),
        'popular_items' => __( 'Popular Categories' ),
        'all_items' => __( 'All Categories' ),
        'parent_item' => null,
        'parent_item_colon' => null,
        'edit_item' => __( 'Edit Product Category' ),
        'update_item' => __( 'Update Product Category' ),
        'add_new_item' => __( 'Add New Product Category' ),
        'new_item_name' => __( 'New Product Category' ),
        'separate_items_with_commas' => __( 'Separate categories with commas' ),
        'add_or_remove_items' => __( 'Add or remove product categories' ),
        'choose_from_most_used' => __( 'Choose from the most used categories' )
        );

    register_taxonomy('tf_productcategory', 'tf_products', array (
        'label' => __('Product Category'),
        'labels' => $labels,
        'hierarchial' => true,
        'show_ui' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'product-category'),
        )); 
}

function create_product_subcategory_taxonomy() {
    $labels = array(
        'name' => _x( 'SubCategories', 'taxonomy general name' ),
        'singular_name' =>_x( 'SubCategory', 'taxonomy singular name' ),
        'search_items' =>  __( 'Search SubCategories' ),
        'popular_items' => __( 'Popular SubCategories' ),
        'all_items' => __( 'All SubCategories' ),
        'parent_item' => __( 'Main Category' ),
        'parent_item_colon' => ( 'Main Category:' ),
        'edit_item' => __( 'Edit Product SubCategory' ),
        'update_item' => __( 'Update Product SubCategory' ),
        'add_new_item' => __( 'Add New Product SubCategory' ),
        'new_item_name' => __( 'New Product SubCategory' ),
        'menu_name' => __( 'SubCategories' )
        );

    register_taxonomy('tf_productsubcategory', 'tf_products', array (
        'label' => __('Product SubCategory'),
        'labels' => $labels,
        'hierarchial' => true,
        'show_ui' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'product-subcategory'),
        )); 
}

add_action( 'init', 'create_productcategory_taxonomy', 0 );
add_action( 'init', 'create_product_subcategory_taxonomy', 0 );
2
drpcken

Hiérarchique fait référence aux termes relation les uns aux autres et non aux taxonomies relation à une autre taxonomie. Les taxonomies non hiérarchiques sont comme les étiquettes si elles n'ont ni parents ni enfants. Taxonomies hiérarchiques signifie que les termes peuvent avoir des parents et des enfants.

taxonomie = catégorie

termes de la catégorie:

  • produits bleus (terme parent)

    • produits bleu clair (terme enfant)
    • produits bleu foncé (terme enfant)
  • produits rouges (terme parent)

    • produits rouge foncé (terme enfant)
    • produits rouge clair (terme enfant)

Également dans votre code ci-dessus, changez:

'hierarchial' => true,

À:

'hierarchical' => true,
2
Chris_O