capabilities; $capabilities['export_artisans_datas'] = false; $capabilities['edit_others_posts'] = true; $capabilities['publish_posts'] = true; $capabilities['read'] = true; $capabilities['upload_files'] = true; // Capacités WPML pour la traduction $capabilities['wpml_manage_translations'] = true; $capabilities['wpml_manage_string_translation'] = true; $capabilities['wpml_manage_woocommerce_translation'] = true; $capabilities['wpml_manage_navigation'] = true; $capabilities['wpml_manage_media_translation'] = true; $capabilities['wpml_manage_taxonomy_translation'] = true; $capabilities['wpml_manage_languages'] = true; $capabilities['wpml_manage_theme_and_plugin_strings'] = true; $capabilities['wpml_manage_translation_management'] = true; $capabilities['wpml_manage_translation_priorities'] = true; $capabilities['wpml_manage_translation_services'] = true; $capabilities['wpml_manage_translation_workflows'] = true; $capabilities['wpml_manage_translation_jobs'] = true; $capabilities['wpml_manage_translation_assignments'] = true; add_role('conseiller', 'Conseiller', $capabilities); } /* ----------------------------------------------------------- Initialisation des rôles personnalisés -----------------------------------------------------------*/ function init_custom_roles() { if (!get_role('conseiller')) { create_conseiller_role(); } } add_action('init', 'init_custom_roles'); /* ----------------------------------------------------------- Supprimer et recréer le rôle conseiller -----------------------------------------------------------*/ function force_recreate_conseiller_role() { remove_role('conseiller'); create_conseiller_role(); } /* ----------------------------------------------------------- Forcer la recréation du rôle conseiller (à utiliser une seule fois) -----------------------------------------------------------*/ // Décommentez la ligne suivante pour forcer la recréation du rôle, puis commentez-la à nouveau // add_action('init', 'force_recreate_conseiller_role', 30); /* ----------------------------------------------------------- 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->has_cap('export_artisans_datas')) { $admin_role->add_cap('export_artisans_datas'); } // Ajouter la capacité à l'éditeur $editor_role = get_role('editor'); if ($editor_role && !$editor_role->has_cap('export_artisans_datas')) { $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'); function apply_admin_color_to_all_users() { $users = get_users(); foreach ($users as $user) { wp_update_user([ 'ID' => $user->ID, 'admin_color' => 'metier_patrimoine' // Thème personnalisé Metiers du patrimoine ]); } } add_action('after_switch_theme', 'apply_admin_color_to_all_users');