web-dev-qa-db-fra.com

Comment empêcher les utilisateurs et créer de nouveaux termes de taxonomie?

J'ai créé la taxonomie (schedule_day_taxonomy) pour un type de publication personnalisé spécifique (schedule).

add_action( 'init', 'schedule_day_tax_func' );
function schedule_day_tax_func() {
    register_taxonomy(
        'schedule_day_taxonomy',
        'schedule',
        array(
            'hierarchical' => true,
            'label' => 'Day',
            'query_var' => true,
        )
    );
}

Désormais, la taxonomie DAY apparaît uniquement dans le type de publication personnalisée schedule J'ai créé `7 termes 'à partir du panneau d'administration.

Days

Maintenant, je veux supprimer l'option Add New Category de manière permanente pour tous les utilisateurs et administrateurs.

Comment puis je faire ça?

1
Foolish Coder

Ce chèque:

    <?php if ( current_user_can( $taxonomy->cap->edit_terms ) ) : ?>

doit être satisfait pour afficher le lien " Ajouter une nouvelle catégorie ".

Vous pouvez définir les fonctionnalités de votre taxonomie schedule_day_taxonomy lors de l’enregistrement.

Exemple

Seuls les utilisateurs dotés de la fonctionnalité edit_schedule_day_taxonomy peuvent modifier la taxonomie:

add_action( 'init', 'schedule_day_tax_func' );
function schedule_day_tax_func() {
    register_taxonomy(
        'schedule_day_taxonomy',
        'post',
        array(
            'hierarchical' => true,
            'label' => 'Day',
            'query_var' => true,
            'capabilities' => array(
                'edit_terms' => 'edit_schedule_day_taxonomy',
            ),
        )
    );
}

Sans cette fonctionnalité, les utilisateurs ne peuvent pas modifier cette taxonomie. Si vous devez le modifier, vous pouvez le supprimer du code ci-dessus ou l’attribuer à votre utilisateur admin .

1
birgire