Comment personnaliser le tableau de bord

Table des matières
Le tableau de bord de WordPress est totalement personnalisable. Il n’est pas vraiment utile de le faire pour soi-même ou pour l’administrateur du site web. Par contre, cela devient très utile quand on donne les clés du site à des rédacteurs ou des contributeurs qui n’ont pas forcément les connaissances techniques pour manipuler un site WordPress.

Introduction

Rendre un tableau de bord WordPress simple et conviviale favorise le rendement d’un côté et la sécurité de l’autre. Rien de plus distrayant que de voir toutes les possibilités offertes par WordPress pour manipuler le site. Et rien de plus frustrant pour l’administrateur de devoir réparer les dégâts causés par les utilisateurs connectés au site. En nettoyant le tableau de bord de WordPress à sa plus simple expression, il permet de faire d’une pierre deux coups. Et tout ceci, sans plugin tiers, ou presque.

Le plugin Dashboard Welcome for Elementor

Le seul plugin utilisé sur ce site est un plugin qui sert à modifier le panneau “Bienvenue” du tableau de bord. Si le panneau n’est pas visible, il faut cocher la case dans “les options de l’écran”, situées tout en haut de l’écran.

Le plugin “Dashboard Welcome for Elementor”

Créer le modèle du panneau “Bienvenue” avec Elementor

Si il est possible de créer un modèle avec Elementor puis de configurer DWE pour l’afficher dans le tableau de bord, il n’est pas possible de créer un modèle multilingue (avec Polylang, par exemple). Il va falloir trouver une astuce pour n’utiliser qu’un seul modèle pour les différentes langues.

La solution retenue par ce site est de créer une section par langue (dans le même modèle), puis de configurer la condition dynamique de la section (créé avec le plugin Dynamic Conditions), avec le code de la langue actuelle.

Le plugin Dynamic Conditions
Les paramètres Dynamic Conditions pour une section

Une fois le modèle Elementor créé, vous devriez avoir deux sections, une pour chaque langue. L’image ci-dessous montre la première section en français et l’autre, en anglais. Les deux sections sont empilées dans le même modèle.

Les deux sections multilingue du modèle

Configuration des différents panneaux

Pour configurer les différents panneaux, on va recourir à quelques lignes de code, plutôt que d’installer un plugin supplémentaire.

  • Commencez par créer un fichier PHP, puis suivez le guide en fonction des fonctionnalités que vous désirez modifier.

Supprimer les metabox

Les metabox sont les blocs d’informations qui se trouvent juste en-dessous du panneau de Bienvenue. Ci-dessous, les blocs supprimés pour les utilisateurs hormis l’administrateur.

  • Essayez de voir l’effet de chaque commande.
// Remove dashboard widgets
  function remove_widgets() {
    if (!current_user_can('administrator')) {
      remove_meta_box('dashboard_activity', 'dashboard', 'normal');
      remove_meta_box('dashboard_right_now', 'dashboard', 'normal');
      remove_meta_box('dashboard_quick_press', 'dashboard', 'side');
      remove_meta_box('e-dashboard-overview', 'dashboard', 'normal');
      remove_meta_box('dashboard_primary', 'dashboard', 'side');
      remove_meta_box('dashboard_secondary', '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_recent_drafts', 'dashboard', 'side');
    }
  }
  add_action('wp_dashboard_setup', 'remove_widgets');

Créer un metabox

Oui, il est possible de créer un metabox, pour informer les utilisateurs, par exemple.

  • Il faut commencer par enregistrer le metabox avec le code ci-dessous :
// Add a custom widget to dashboard
function register_custom_dashboard_widget() {
  wp_add_dashboard_widget ('custom_dashboard_widget', 'Infos from' . ' ' . get_bloginfo(), 'custom_dashboard_widget');
}
add_action('wp_dashboard_setup', 'register_custom_dashboard_widget');
  • puis, remplir le metabox avec les informations désirées. Attention, le code ci-dessous est à moitié en HTML, d’où les “<?php” et “?>”.
<?php
  function custom_dashboard_widget() {
?>
  <p>Aucune information</p>
<?php
}
?>

Il est bien entendu possible de le faire pour un site multilingue, créé avec Polylang. Le titre de la metabox, ici “Infos from”, doit être écrit en anglais dans les deux langues, puis traduit avec le panneau de “traduction des chaînes” de Polylang.

// Add a custom widget to dashboard
function register_custom_dashboard_widget() {
  if (function_exists('pll_current_language')) {
    if (pll_current_language() == "en") {
      wp_add_dashboard_widget(
        'custom_dashboard_widget',
        pll_translate_string('Infos from', 'en') . ' ' . get_bloginfo(),
        'custom_dashboard_widget'
      );
    } else {
      wp_add_dashboard_widget(
        'custom_dashboard_widget',
        pll_translate_string('Infos from', 'fr') . ' ' . get_bloginfo(),
        'custom_dashboard_widget'
      );
    }
  }
}
add_action('wp_dashboard_setup', 'register_custom_dashboard_widget');

Ici, les textes sont écrits dans les deux langues, parce qu’il est plus simple d’écrire une information en HTML, plutôt que plusieurs dans le panneau de Polylang. Mais, il est aussi possible de le faire avec Polylang.

<?php
  function custom_dashboard_widget() {
    if (function_exists('pll_current_language')) {
      if (pll_current_language() == "en") {
        ?>
          <p>No informations</p>
        <?php
      } else {
        ?>
          <p>Aucune informations</p>
        <?php
      }
    }
  }
?>

Supprimer les options de la barre d’administration

Rien ne sert de laisser une barre d’administration dont les fonctionnalités ne servent pas aux utilisateurs.

// Remove options from admin bar
function remove_dashboard_adminbar_items() {
  if (!current_user_can('administrator')) {
    global $wp_admin_bar;
      
    // Remove the WordPress logo
    $wp_admin_bar->remove_menu('wp-logo');
    $wp_admin_bar->remove_menu('comments');
    $wp_admin_bar->remove_menu('new-content');
    $wp_admin_bar->remove_menu('updates');
  }
}
add_action('wp_before_admin_bar_render', 'remove_dashboard_adminbar_items');

Supprimer les éléments de la barre latérale

Enfin, il est également possible de supprimer les éléments qui constituent la barre latérale gauche.

// Remove Menu items 
function remove_dashboard_menu_items() {
  if (!current_user_can('administrator')) {
    remove_menu_page ('edit.php');
    remove_menu_page ('edit-comments.php');
    remove_menu_page ('edit.php?post_type=elementor_library');
    remove_menu_page ('tools.php');
  }
}
add_action('admin_menu','remove_dashboard_menu_items');

Voici ce que donne la console d’administration pour un contributeur sur ce site. Il est même possible de changer de langue.

La console d’administration de WordPress pour les contributeurs de ce site

Le mot de la fin

Voilà, encore une démonstration qu’il est tout à fait possible de créer de belles consoles d’administration avec Elementor et quelques lignes de code, sans pour autant utiliser des plugins.

Table des matières
A consulter également

Liaison de pièces jointes

La librairie Prism

Créer des champs personnalisés

Impression d’un PDF

Comment ajouter le ReCaptcha (sans plugin)

Les plugins utilisés sur Fuyens.ch

Conception du site web

Plan des pages

Page d’accueil

Créer une App pour Azure (partie 2)

A consulter également

Messages multilingues avec Polylang

Créer une App pour Azure (partie 5)

Exécuter du Javascript dans WordPress

Plan des pages

Inscription

Pour vous inscrire, veuillez remplir les champs ci-dessous

Mot de passe oublié ?

Vous allez recevoir un message avec un lien vous permettant de renouveler votre mot de passe

Mise à jour du mot de passe

Veuillez entrer votre ancien mot de passe ainsi qu'un nouveau
et confirmer celui-ci

Connexion