cum să elimin unele permisiuni pentru rolul de "manager magazin" în WooCommerce

5 mai 2015, 10:05:38
Vizualizări: 17K
Voturi: 1

Folosesc plugin-ul WooCommerce pentru a gestiona un magazin. Am nevoie să adaug un utilizator care poate gestiona produsele (adaugă noi, editează). Așadar, am adăugat un utilizator și i-am atribuit rolul de manager magazin, dar permisiunile acordate pentru acest rol sunt mult mai multe decât ceea ce doream (de ex., listarea altor utilizatori, accesarea comenzilor, posibilitatea de a modifica setările magazinului și altele).

Și nu pot să înțeleg cum WordPress gestionează rolurile și permisiunile și în ce fișier PHP WooCommerce definește acest rol, ca să-l pot edita.

2
Comentarii

Aceasta se află la limita subiectului "Off-Topic" deoarece se referă la Plugin-uri Terțe ( WooCommerce ), dar esența întrebării tale se referă la permisiunile utilizatorilor. Sugerez să editezi întrebarea pentru a fi mai specifică, precum "Cum schimb permisiunile unui anumit rol", astfel încât întrebarea să nu fie închisă. O altă opțiune bună este să cauți pe acest site informații despre gestionarea permisiunilor utilizatorilor.

Howdy_McGee Howdy_McGee
5 mai 2015 22:42:53

@Howdy_McGee Înțeleg cum consideri că aceasta este în afara subiectului, dar am găsit o etichetă pentru woocommerce și am crezut că întrebările conexe sunt pe subiect,

azerafati azerafati
6 mai 2015 23:30:03
Toate răspunsurile la întrebare 2
0

Acest subiect se apropie de a fi considerat off-topic, deoarece se referă în mod specific la un anumit plugin, dar răspunsul este destul de generic:

Puteți elimina capabilitățile de care nu aveți nevoie.

function remove_cap_wpse_186316(){   
  remove_cap( 'yourwoorole', 'yourwoocap' );
  remove_cap( 'yourwoorole', 'yourwoocap1' );
}
add_action( 'admin_init', 'remove_cap_wpse_186316' );

Codul de mai sus este doar pentru demonstrație/experimentare. Rețineți observația din codex despre faptul că acest cod trebuie rulat o singură dată:

Notă: Această setare este salvată în baza de date (în tabelul wp_options, câmpul 'wp_user_roles'), așa că ar trebui să-l rulați doar o singură dată, la activarea/dezactivarea temei/pluginului.

Puteți folosi get_role() și să afișați rezultatul pentru a vedea cu ce capabilități aveți de-a face:

var_dump(get_role( 'yourwoorole' ));
6 mai 2015 03:05:52
1

Te rugăm să adaugi următorul cod în fișierul functions.php al temei tale WordPress. Schimbă valoarea true în false pentru permisiunile pe care nu dorești să le accezi managerului de magazin.

add_role('shop_manager', __('Manager Magazin', 'woocommerce'), array(
    
    'read' => true,
    
    'read_private_pages'    => true,
    
    'read_private_posts'    => true,
    
    'edit_posts' => true,
    
    'edit_pages' => true,
    
    'edit_published_posts'  => true,
    
    'edit_published_pages'  => true,
    
    'edit_private_pages'    => true,
    
    'edit_private_posts'    => true,
    
    'edit_others_posts' => true,
    
    'edit_others_pages' => true,
    
    'publish_posts' => true,
    
    'publish_pages' => true,
    
    'delete_posts' => true,
    
    'delete_pages' => true,
    
    'delete_private_pages'  => true,
    
    'delete_private_posts'  => true,
    
    'delete_published_pages'    => true,
    
    'delete_published_posts'    => true,
    
    'delete_others_posts' => true,
    
    'delete_others_pages' => true,
    
    'manage_categories' => true,
    
    'manage_links'  => true,
    
    'moderate_comments' => true,
    
    'unfiltered_html'   => true,
    
    'upload_files'  => true,
    
    'export'    => true,
    
    'import'    => true,
    
    'manage_woocommerce'    => true,
    
    'manage_woocommerce_orders' => true,
    
    'manage_woocommerce_coupons'    => true,
    
    'manage_woocommerce_products'   => true,
    
    'view_woocommerce_reports'  => true
    
    ));
8 mai 2017 09:27:50
Comentarii

te rog să nu folosești ghilimele înclinate în cod

111 111
17 iul. 2021 01:11:09