diff --git a/functions.php b/functions.php index 6110402..937e13c 100644 --- a/functions.php +++ b/functions.php @@ -4,6 +4,7 @@ require_once(__DIR__ . '/includes/errorlog.php'); require_once(__DIR__ . '/includes/init.php'); +require_once(__DIR__ . '/includes/roles.php'); require_once(__DIR__ . '/includes/post_types.php'); require_once(__DIR__ . '/includes/artisans.php'); require_once(__DIR__ . '/includes/artisans-columns-filters.php'); diff --git a/includes/roles.php b/includes/roles.php new file mode 100644 index 0000000..be43e89 --- /dev/null +++ b/includes/roles.php @@ -0,0 +1,54 @@ +capabilities; + + $capabilities['export_artisans_datas'] = false; + $capabilities['edit_others_posts'] = true; + $capabilities['publish_posts'] = true; + $capabilities['read'] = true; + $capabilities['upload_files'] = true; + + // Capacités pour la gestion des médias + // $capabilities['edit_posts'] = true; + // $capabilities['delete_posts'] = true; + // $capabilities['edit_published_posts'] = true; + // $capabilities['delete_published_posts'] = true; + // $capabilities['edit_others_posts'] = false; // Ne peut pas éditer les posts des autres + // $capabilities['delete_others_posts'] = false; // Ne peut pas supprimer les posts des autres + // $capabilities['edit_attachments'] = true; // Peut éditer ses propres médias + // $capabilities['delete_attachments'] = true; // Peut supprimer ses propres médias + // $capabilities['edit_others_attachments'] = false; // Ne peut pas éditer les médias des autres + // $capabilities['delete_others_attachments'] = false; // Ne peut pas supprimer les médias des autres + + add_role('conseiller', 'Conseiller', $capabilities); +} +add_action('init', 'create_conseiller_role'); + + +/* ----------------------------------------------------------- + Masquer les widgets du tableau de bord pour le rôle conseiller + -----------------------------------------------------------*/ +function hide_dashboard_widgets_for_conseiller() +{ + $user = wp_get_current_user(); + if (in_array('conseiller', (array) $user->roles)) { + remove_meta_box('dashboard_right_now', 'dashboard', 'normal'); + remove_meta_box('dashboard_activity', 'dashboard', 'normal'); + remove_meta_box('dashboard_quick_press', 'dashboard', 'side'); + remove_meta_box('dashboard_primary', 'dashboard', 'side'); + remove_meta_box('dashboard_secondary', 'dashboard', 'side'); + remove_meta_box('dashboard_recent_drafts', 'dashboard', 'side'); + remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal'); + remove_meta_box('dashboard_incoming_links', 'dashboard', 'normal'); + remove_meta_box('dashboard_plugins', 'dashboard', 'normal'); + remove_meta_box('dashboard_site_health', 'dashboard', 'normal'); + } +} +add_action('wp_dashboard_setup', 'hide_dashboard_widgets_for_conseiller');