web-dev-qa-db-fra.com

Créer une catégorie uniquement pour le type d'article personnalisé

Tous, je crée mon propre type de message en utilisant le code suivant:

add_action( 'init', 'create_team_post_type' );
function create_team_post_type() {
  register_post_type( 'team',
    array(
      'labels' => array(
        'name' => __( 'Teams' ),
        'singular_name' => __( 'Team' )
      ),
        'publicly_queryable' => true,
        'show_ui' => true,
        'query_var' => true,
        'rewrite' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'menu_position' => null,
        'taxonomies' => array('category'),
        'supports' => array('title','editor','thumbnail')
    )
  );
}

En cela, j'autorise une catégorie. Lorsque je clique sur la catégorie pour cela, je vois les catégories déjà répertoriées dans mes catégories de messages. J'aimerais afficher uniquement les catégories de ce type d'article personnalisé. En outre, lorsque j'ajoute une nouvelle catégorie au type de publication personnalisé, je souhaite uniquement qu'elle s'applique à ce type de publication personnalisée. Comment puis-je faire cela?

7
user1048676

Je dirais que vous devez également créer une taxonomie personnalisée si vous souhaitez qu'elle soit limitée au type de publication unique. "Catégories" est déjà connecté aux publications par défaut.

Du WordPress Codex

function people_init() {
    // create a new taxonomy
    register_taxonomy(
        'people',
        'post',
        array(
            'label' => __( 'People' ),
            'rewrite' => array( 'slug' => 'person' ),
            'capabilities' => array(
                'assign_terms' => 'edit_guides',
                'edit_terms' => 'publish_guides'
            )
        )
    );
}
add_action( 'init', 'people_init' );

Donc, si vous l'appeliez "catégorie-équipe", vous l'utiliseriez dans le tableau "taxonomies" de votre type d'article.

Voici un exemple plus spécifique:

function tr_create_my_taxonomy() {

    register_taxonomy(
        'team-category',
        'team',
        array(
            'label' => __( 'Category' ),
            'rewrite' => array( 'slug' => 'team-category' ),
            'hierarchical' => true,
        )
    );
}
add_action( 'init', 'tr_create_my_taxonomy' );
9
SkyShab