Existe-t-il un moyen de désactiver l'option d'ajout d'un nouvel article sous un Custom Post Type dans WordPress (3.0) ? J'ai cherché dans les étiquettes et les arguments mais je n'ai rien trouvé qui ressemble à une telle fonctionnalité.
Réponses
Trop de publicités?Désactiver la création de nouveaux messages pour les types de messages enregistrés : (exemple pour post
y page
)
function disable_create_newpost() {
global $wp_post_types;
$wp_post_types['post']->cap->create_posts = 'do_not_allow';
//$wp_post_types['page']->cap->create_posts = 'do_not_allow';
//$wp_post_types['my-post-type']->cap->create_posts = 'do_not_allow';
}
add_action('init','disable_create_newpost');
@ Staffan Estberg,
C'est la meilleure façon de cacher le bouton Ajouter un nouveau ou Créer un nouveau dans les postypes personnalisés.
'capability_type' => 'post',
'capabilities' => array( 'create_posts' => false ),
'map_meta_cap' => true,
Il est impossible de créer un nouveau message dans les types de messages personnalisés, que ce soit dans le menu d'administration ou au-dessus de la liste des types de messages.
La solution n'est pas tout à fait complète. J'ai trouvé un peu plus d'informations sur cette question ici sur ce poste .
J'avais besoin de désactiver l'ajout de nouveaux posts personnalisés pour le site web d'un parti politique d'état dans leurs types de posts 'County'. Étant donné qu'il n'y a pas beaucoup de chances que de nouvelles lignes de comté soient tracées de sitôt, la fonctionnalité "Ajouter un comté" est plus un handicap qu'une fonctionnalité.
J'ai trouvé la solution la plus simple. Il suffit d'ajouter ce code dans le fichier function.php
.
function hd_add_buttons() {
global $pagenow;
if (is_admin()) {
if ($_GET['post_type'] == 'custom_post_type_name') {
echo '<style>.add-new-h2{display: none !important;}</style>';
}
}
}
add_action('admin_head', 'hd_add_buttons');