web-dev-qa-db-fra.com

seul un certain rôle a accès à un cpt

J'ai un type de message personnalisé "barbershop" et je veux avoir un rôle de "barbier" dans mon wordpress. J'ai écrit ce code pour que mon coiffeur puisse écrire ou supprimer son propre salon de coiffure.

// Barbershop Post Type
function register_barbershop() {
    $labels = array(
        'name'                                  =>  __('آرایشگاه ها', 'noosh'),
        'singular_name'                         =>  __('آرایشگاه', 'noosh'),
        'add_new'                               =>  __('افزودن', 'noosh'),
        'add_new_item'                          =>  __('افزودن آرایشگاه تازه', 'noosh'),
        'edit_item'                             =>  __('ویرایش آرایشگاه', 'noosh'),
        'new_item'                              =>  __('آرایشگاه تازه', 'noosh'),
        'view_item'                             =>  __('نمایش آرایشگاه', 'noosh'),
        'view_items'                            =>  __('نمایش آرایشگاه ها', 'noosh'),
        'all_items'                             =>  __('همه ی آرایشگاه ها', 'noosh'),

    );
    $args = array(
        'labels'                                =>  $labels,
        'public'                                =>  true,
        'capability_type'                       =>  'bshop',
        'map_meta_cap'                          =>  true,
        'supports'                              =>  array('title', 'editor', 'comments', 'author', 'thumbnail')
    );
    register_post_type('barbershop', $args);
}

add_action( 'init', 'register_barbershop' );

// Add barber user role
function add_barber() {
    $caps = [
        'read'                    => true,
        'edit_bshop'              => true,
        'read_bshop'              => true,
        'delete_bshop'            => true,

        'edit_bshops'             => true,
        'edit_others_bshops'      => false,
        'publish_bshops'          => true,
        'read_private_bshops'     => true,

        'delete_bshops'           => true,
        'delete_private_bshops'   => true,
        'delete_published_bshops' => true,
        'delete_others_bshops'    => false,
        'edit_private_bshops'     => true,
        'edit_published_bshops'   => true,
    ];

    add_role( 'barber', 'آرایشگر', $caps );
}

add_action( 'after_setup_theme', 'add_barber' );

Mais il y a un problème, seul mon coiffeur a accès à ce cpt barbier, pas à un super administrateur. Je veux que mon administrateur puisse aussi gérer le salon de coiffure, que dois-je faire?

1
Amirition

Je pense que vous devriez également ajouter ces nouvelles fonctionnalités au rôle d'administrateur.

Peut-être que cette question pourrait vous aider: Appliquer les fonctionnalités de rôle personnalisées à l'administrateur (sans plug-in)

1
AmiNimA