web-dev-qa-db-fra.com

Comment changer l'apparence de l'ensemble du panneau d'administration WordPress?

J'essaie de modifier l'apparence du panneau d'administration de WordPress en fonction des différents types de rôles proposés dans WordPress. Comment créer/assigner différents thèmes pour chaque rôle, c.-à-d.

  • Éditeur> Thème 1 du panneau d'administration
  • Auteur> Panneau d'administration, thème 2
  • Contributeur> Thème du panneau d'administration 3
  • Abonné> Thème 4 du panneau d'administration

ou même pour l'administrateur du site aussi.

ce que je recherche, c’est de changer la structure/la structure html du panneau d’administration de WordPress, l’interface utilisateur.

Y at-il des crochets ou des actions disponibles, s'il vous plaît guider.

Cordialement,

5
FaisalShehzad

Voici un excellent article de codex sur le thème de la création d'un thème d'administration: http://codex.wordpress.org/Creating_Admin_Themes

Et pour revenir à votre question, vous voudrez charger différentes feuilles de style pour différents rôles d'utilisateur. Vous devez donc vérifier qui est l'utilisateur actuel. Faites attention, la vérification est effectuée avec current_user_can () function et la vérification de l'administrateur n'est pas effectuée via is_admin () (c'est une vérification si votre script est chargé du côté administration de votre site Web, non pour administrateur).

Légèrement modifié premier exemple de code d'un codex

<?php
function my_admin_theme_style() {
    if ( current_user_can( 'manage_options' ) ) { //means it is an administrator
        $style = 'my-admin-theme-administrator.css';
    } else if ( current_user_can( 'edit_others_posts' ) ) { //editor
        $style = 'my-admin-theme-editor.css';
    } else if ( current_user_can( 'edit_published_posts' ) ) { //author
        $style = 'my-admin-theme-author.css';
    } else if ( current_user_can( 'edit_posts' ) ) { //contributor
        $style = 'my-admin-theme-contributor.css';
    } else { //anyone else - means subscriber
        $style = 'my-admin-theme-subscriber.css';
    }
    wp_enqueue_style('my-admin-theme', plugins_url($style, __FILE__));
}
add_action('admin_enqueue_scripts', 'my_admin_theme_style');

function my_admin_theme_login_style() {
    //we can't differentiate unlogged users theme so we are falling back to subscriber
    $style = 'my-admin-theme-subscriber.css';
    wp_enqueue_style('my-admin-theme', plugins_url($style, __FILE__));
}
add_action('login_enqueue_scripts', 'my_admin_theme_login_style');

Consultez également la page Rôles et fonctionnalités pour obtenir une idée sur la manière de différencier les rôles des utilisateurs.

À votre santé!

4
david.binda