73 lines
3.1 KiB
PHP
73 lines
3.1 KiB
PHP
<?php
|
|
|
|
/* -----------------------------------------------------------
|
|
Création du rôle conseiller
|
|
-----------------------------------------------------------*/
|
|
function create_conseiller_role()
|
|
{
|
|
// Récupérer les capacités du rôle author
|
|
$author_role = get_role('author');
|
|
$capabilities = $author_role->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');
|
|
|
|
/* -----------------------------------------------------------
|
|
Ajouter la capacité export_artisans_datas aux administrateurs et éditeurs
|
|
-----------------------------------------------------------*/
|
|
function add_export_artisans_capability()
|
|
{
|
|
// Ajouter la capacité à l'administrateur
|
|
$admin_role = get_role('administrator');
|
|
if ($admin_role) {
|
|
$admin_role->add_cap('export_artisans_datas');
|
|
}
|
|
|
|
// Ajouter la capacité à l'éditeur
|
|
$editor_role = get_role('editor');
|
|
if ($editor_role) {
|
|
$editor_role->add_cap('export_artisans_datas');
|
|
}
|
|
}
|
|
add_action('init', 'add_export_artisans_capability');
|
|
|
|
/* -----------------------------------------------------------
|
|
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');
|