Vuoi sapere come disabilitare il pulsante “Aggiungi Nuovo” per il Custom Post Type in WordPress?
Basta aggiungere questo codice nel file functions.php del tuo tema child (o inserirlo in un plugin personalizzato).
register_post_type( 'riaco_cpt', array(
...
...
'capability_type' => 'post',
'capabilities' => array(
'create_posts' => false, // Disabilita la creazione di nuovi articoli (per multisite usa 'do_not_allow')
),
'map_meta_cap' => true, // Imposta su false se vuoi impedire la modifica/eliminazione dei post esistenti
));
Per disabilitare la possibilità di aggiungere un nuovo custom post type tramite pulsante, basta aggiungere le capabilities e map_meta_cap come da codice qui sopra quando si crea il custom post type tramite la funzione WordPress register_post_type().
La chiave del post type (nell’esempio è riaco_cpt) non deve superare i 20 caratteri e può contenere solo lettere minuscole, numeri, trattini e underscore.
L’argomento capabilities indica che funzionalità deve avere questo post type.
'capabilities' => array(
'edit_post' => 'edit_riaco_cpt',
'read_post' => 'read_riaco_cpt',
'delete_post' => 'delete_riaco_cpt',
'edit_posts' => 'edit_riaco_cpts',
'edit_others_posts' => 'edit_others_riaco_cpts',
'publish_posts' => 'publish_riaco_cpts',
'read_private_posts' => 'read_private_riaco_cpts',
'create_posts' => 'edit_riaco_cpts',
),
L’argomento map_meta_cap serve a dire al sistema come interpretare le capabilities di un custom post type rispetto alle meta capabilities di WordPress.
Se è impostato su true (valore predefinito consigliato):
WordPress converte automaticamente le capacità generiche come edit_post, delete_post o read_post nelle capacità specifiche del tuo custom post type.
Per esempio, se il tuo CPT si chiama riaco_cpt:
edit_postdiventaedit_riaco_cptdelete_postdiventadelete_riaco_cpt- e così via…
Ecco come potrebbe essere un codice più completo per vedere il Custom Post Type in admin:
register_post_type( 'riaco_cpt', array(
'labels' => array(
'name' => 'Riaco CPT',
'singular_name' => 'Riaco CPT',
'add_new_item' => 'Aggiungi nuovo Riaco CPT',
'edit_item' => 'Modifica Riaco CPT',
'view_item' => 'Visualizza Riaco CPT',
'all_items' => 'Tutti i Riaco CPT',
'search_items' => 'Cerca Riaco CPT',
),
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'capability_type' => 'post',
'capabilities' => array(
'create_posts' => false, // Disabilita la creazione di nuovi articoli (per multisite usa 'do_not_allow')
),
'map_meta_cap' => true, // Imposta su false se vuoi impedire la modifica/eliminazione dei post esistenti
));


