Cómo eliminar algunos permisos del rol "manager" en WooCommerce
Estoy usando el plugin WooCommerce para gestionar una tienda. Necesito agregar un usuario que pueda administrar productos (agregar nuevos, editar). Así que añadí un usuario y le asigné el rol de shop manager, pero los permisos otorgados para este rol son muchos más de los que quería (por ejemplo, listar otros usuarios, acceder a pedidos, poder cambiar la configuración de la tienda, etc.).
Y no puedo entender cómo WordPress está gestionando los roles y permisos y en qué archivo PHP WooCommerce está definiendo este rol para poder editarlo.

Esto está muy cerca de estar fuera de tema ya que pregunta específicamente sobre un plugin en particular, pero la respuesta es bastante genérica:
Puedes eliminar las capacidades que no necesites.
function remove_cap_wpse_186316(){
remove_cap( 'yourwoorole', 'yourwoocap' );
remove_cap( 'yourwoorole', 'yourwoocap1' );
}
add_action( 'admin_init', 'remove_cap_wpse_186316' );
El código anterior es solo para demostración/experimentación. Ten en cuenta la nota en el codex sobre que esto solo debe ejecutarse una vez:
Nota: Esta configuración se guarda en la base de datos (en la tabla wp_options, campo 'wp_user_roles'), por lo que solo deberías ejecutar esto una vez, durante la activación o desactivación del tema/plugin.
Puedes usar get_role()
y volcar la salida para ver con qué capacidades estás tratando:
var_dump(get_role( 'yourwoorole' ));

Por favor, agrega el siguiente código al archivo functions.php de tu tema de WordPress. Cambia los valores de true a false para los permisos que no necesites proporcionar al rol de shopmanager.
add_role('shop_manager', __('Shop Manager', '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
));
