logo

Donner un peu plus de droits aux Editeurs WordPress [functions + PHP]

Par expérience nous nous sommes rendu compte que la fonction Editeur n’est pas suffisante pour nos clients et que la fonction Administrateur ouvre bien trop de droit et donc de responsabilité sur le site. Même si, par exemple, WooCommerce offre des droits de responsable de boutique avec le role d’éditeur pour le site. Certains plugins ne sont plus accessible avec ce droit. Ce qui est dommage. il faut donc faire passer l’éditeur en administrateur.  Ce qui occasionne parfois des problèmes.

Nous avons pensé à un Editeur ++ qui a plus de droits sans pour autant pouvoir mettre à jour les plugins ou le site, ou même changer ou modifier le thème. Il peut agir sur les utilisateurs et utiliser les plugins.

Dans fonctions.php :

function custom_role(){
    $admin_roles = get_role( 'administrator' )->capabilities;

    $new_role = 'custom_editor';
    $display_name = 'Editeur++';
    add_role( $new_role, $display_name, $admin_roles );

    $custom_role = get_role('custom_editor');

    $custom_role->remove_cap('edit_plugins', true);
    $custom_role->remove_cap('edit_themes', true);

    $custom_role->remove_cap( 'install_plugins', true );
    $custom_role->remove_cap( 'activate_plugins', true );
    $custom_role->remove_cap( 'update_plugins', true );
    $custom_role->remove_cap( 'delete_plugins', true );
    
    $custom_role->remove_cap( 'edit_theme_options', true );
    $custom_role->remove_cap( 'install_themes', true );
    $custom_role->remove_cap( 'update_themes', true );
    $custom_role->remove_cap( 'switch_themes', true );
    $custom_role->remove_cap( 'delete_themes', true );  
}

add_action( 'init', 'custom_role', 10);