Creare una categoria solo per un tipo di post personalizzato
Salve, Sto creando il mio tipo di post personalizzato utilizzando il seguente codice:
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')
)
);
}
In questo codice sto permettendo una categoria. Quando clicco sulla categoria vedo quelle già elencate dalle categorie dei miei post. Vorrei mostrare solo le categorie per questo tipo di post personalizzato. Inoltre, quando aggiungo una nuova categoria al tipo di post personalizzato, voglio che si applichi solo a questo tipo di post personalizzato. Come posso fare questo?

Direi che è necessario creare anche una tassonomia personalizzata se vuoi che sia limitata a un solo tipo di post. "Categorie" è già collegato ai post per impostazione predefinita.
Dal WordPress Codex
function people_init() {
// crea una nuova tassonomia
register_taxonomy(
'people',
'post',
array(
'label' => __( 'Persone' ),
'rewrite' => array( 'slug' => 'persona' ),
'capabilities' => array(
'assign_terms' => 'edit_guides',
'edit_terms' => 'publish_guides'
)
)
);
}
add_action( 'init', 'people_init' );
Quindi, se la chiamassi "team-category", dovresti usarla nell'array 'taxonomies' nel tuo tipo di post.
Ecco un esempio più specifico:
function tr_create_my_taxonomy() {
register_taxonomy(
'team-category',
'team',
array(
'label' => __( 'Categoria' ),
'rewrite' => array( 'slug' => 'team-category' ),
'hierarchical' => true,
)
);
}
add_action( 'init', 'tr_create_my_taxonomy' );

Sembra buono. Come posso visualizzare la mia tassonomia personalizzata nel custom post? Ho provato a cambiare 'taxonomies' => array('category')
in 'taxonomies' => array('people')
ma non mostra quelle categorie.

Assicurati di cambiare 'post' in 'team' nel codice di esempio se è lì che vuoi che appaia.

Credo di dover essere più chiaro. Compare lì, ma quando aggiungo un nuovo post nel custom post type vorrei che apparisse come caselle di spunta come nel post type standard. Al momento mi mostra solo una casella come i tag invece delle categorie personalizzate.

Se vuoi uno stile 'a categorie', imposta hierarchical a true. L'impostazione predefinita, false, mostra uno stile 'a tag'. Ho aggiunto la prima opzione nel mio ultimo esempio di codice.
