come rimuovere alcune autorizzazioni dal ruolo "shop manager" in WooCommerce?

5 mag 2015, 10:05:38
Visualizzazioni: 17K
Voti: 1

Sto utilizzando il plugin WooCommerce per gestire un negozio online. Ho bisogno di aggiungere un utente che possa gestire i prodotti (aggiungere nuovi, modificare). Quindi ho aggiunto un utente e gli ho assegnato il ruolo di shop manager, ma i permessi concessi per questo ruolo sono molti di più di quelli che desideravo (ad esempio elencare altri utenti, accedere agli ordini, poter modificare le impostazioni del negozio e altro).

Non riesco a capire come WordPress gestisce i ruoli e le autorizzazioni e in quale file PHP WooCommerce definisce questo ruolo così da poterlo modificare.

2
Commenti

Questa è una situazione al limite dell'"Off-Topic" poiché riguarda effettivamente i Plugin di Terze Parti (WooCommerce), ma il cuore della tua domanda verte sulle autorizzazioni degli utenti. Suggerisco di modificare la tua domanda per porre una domanda più specifica come "Come modificare i permessi di un ruolo specifico" in modo che la domanda non venga chiusa. Un'altra valida opzione è cercare su questo sito informazioni sulla gestione dei permessi degli utenti.

Howdy_McGee Howdy_McGee
5 mag 2015 22:42:53

@Howdy_McGee Capisco che intendi che questo è off-topic, ma ho trovato un tag per woocommerce e ho pensato che le domande correlate fossero in tema.

azerafati azerafati
6 mag 2015 23:30:03
Tutte le risposte alla domanda 2
0

Questo argomento sfiora l'essere fuori tema poiché si riferisce specificamente a un particolare plugin, ma la risposta è piuttosto generica:

Puoi rimuovere le capacità di cui non hai bisogno.

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

Il codice sopra è solo a scopo dimostrativo/sperimentale. Nota l'avviso nel codex sul fatto che questo va eseguito solo una volta:

Nota: Questa impostazione viene salvata nel database (nella tabella wp_options, campo 'wp_user_roles'), quindi dovresti eseguirlo solo una volta, all'attivazione e/o disattivazione del tema/plugin.

Puoi usare get_role() e visualizzare l'output per vedere con quali capacità hai a che fare:

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

Aggiungi il seguente codice al file functions.php del tuo tema WordPress. E cambia da true a false per i seguenti elementi per i quali non vuoi fornire accesso al gestore del negozio.

add_role('shop_manager', __('Gestore del negozio', '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 mag 2017 09:27:50
Commenti

per favore non usare virgolette ricci nel codice

111 111
17 lug 2021 01:11:09