Tout savoir sur WordPress

Personnaliser l’icône d’un custom post type avec la police dashicons

Lorsque vous créez un type de publication, ou custom post type, vous pouvez personnaliser l’icône du menu WordPress avec une image de votre choix ou en utilisant la police de pictogrammes intégrée dans WordPress : Dashicons.

Rappel : les types de publications

Par défaut WordPress en possède 2 : les articles, pour écrire des actualités, et les pages, pour créer les différents contenus de votre site.

Si vous vouliez ajouter par exemple un portfolio, ou un annuaire par exemple, il faudrait créer un type de publication.

Le code de base est disponible par exemple sur GenerateWP. En ne conservant que les éléments essentiels on obtient ceci :

function create_post_types() {
  
  // Post Type
  $labels = array(
    'name' => 'Entreprises',
    'all_items' => 'Tous les entreprises',
    'singular_name' => 'Entreprise',
    'add_new_item' => 'Ajouter une entreprise',
    'edit_item' => "Modifier l'entreprise",
    'menu_name' => 'Entreprises'
  );

  $args = array(
    'labels' => $labels,
    'public' => true,
    'has_archive' => true,
    'supports' => array('title', 'editor','thumbnail','custom-fields'),
    'menu_position' => 5,
    'menu_icon' => 'dashicons-store',
  );

  register_post_type('entreprises',$args);

}

add_action('init', 'create_post_types');

Il faudra l’insérer dans le fichier functions.php de votre thème actif (wp-content/themes/nomdutheme) ou alors dans le fichier de votre plugin si vous en développez un.

Les pictogrammes de WordPress : Dashicons

L’interface de WordPress est livrée avec une police d’écriture qui, au lieu de contenir des lettres, contient des pictogrammes utilisés un peu partout dans l’interface d’administration : les menus, l’éditeur visuel…

Une page leur est dédiée sur wordpress.org. Vous pourrez naviguer par catégorie de pictos, et même faire une recherche :

 

dashicons

On retrouve tout type d’icônes, et même une carotte et un palmier.  Pour découvrir ces pictos :

Dashicons

Appliquer un picto à votre Custom Post Type

Récupérez le nom du picto que vous souhaitez assigner à votre Type de publication. Il est indiqué à côté de celui-ci, en haut de page :

dashicon name

Dans votre tableau $args, ajoutez une ligne ‘menu_icon’ et indiquez le nom ‘dashicons-store’ :

  $args = array(
    'labels' => $labels,
    'public' => true,
    'has_archive' => true,
    'supports' => array('title', 'editor','thumbnail'),
    'menu_position' => 5,
    'menu_icon' => 'dashicons-store', 
  );

Au passage, vous pouvez aussi indiquer la position de l’emplacement du menu grâce à ‘menu_position’.

Et voici le résultat :

CPT personnalise dashicons

Vous pouvez faire ceci pour chaque type que vous créerez. De cette manière vos Custom Types sont plus engageants et se démarquent mieux dans le menu parfois très chargé de WordPress.

Cet article a été mis à jour il y a 188 jours

Article écrit par Maxime BJ

Développeur, bloggeur et formateur Web spécialisé WordPress. 31 ans. Grenoblois. Co-fondateur de WPChef, l’organisme de formation WordPress.

Organisateur de WPInAlps, le meetup WordPress Grenoblois. Vous pouvez me rencontrer lors d’événements tels que WordCamp Paris et Europe. Traducteur Français de l’extension Advanced Custom Fields. Également développeur d’applications web avec MeteorJs. Je m’occupe un site pour apprendre l’informatique aux débutants gratuitement.

J’aime les jeux vidéo, la rando, la bouffe bien grasse et les voyages.

2 Commentaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

  1. Hello et merci pour ce très bon article, je découvre des choses !

    Si on veut faire un blog multi-auteurs, peut-on créer un custom type uniquement pour les auteurs externes ?

    Il y aurait par exemple :
    – Articles (pour mes articles)
    – et Articles invités (pour les articles des auteurs externes).

    Merci beaucoup,
    David.

    • Salut, dans ce cas précis je déconseille l’utilisation de plusieurs CTPs, il faut mieux tout avoir dans article mais gérer des rôles différents (admin pour toi et contributeur pour les invités, ou alors un rôle personnalisé avec plus ou moins de droits)

      Après en théorie tu peux créer un CPT et y assigner des droits pour les rôles, tu peux par exemple désautoriser l’édition d’articles pour les contributeurs et donner les droits sur ton nouveau CPT. Je me base sur le codex quand j’ai besoin de modifier les rôles : https://codex.wordpress.org/Roles_and_Capabilities