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 :

[pastacode lang=”php” manual=”function%20create_post_types()%20%7B%0A%20%20%0A%20%20%2F%2F%20Post%20Type%0A%20%20%24labels%20%3D%20array(%0A%20%20%20%20’name’%20%3D%3E%20’Entreprises’%2C%0A%20%20%20%20’all_items’%20%3D%3E%20’Tous%20les%20entreprises’%2C%0A%20%20%20%20’singular_name’%20%3D%3E%20’Entreprise’%2C%0A%20%20%20%20’add_new_item’%20%3D%3E%20’Ajouter%20une%20entreprise’%2C%0A%20%20%20%20’edit_item’%20%3D%3E%20%22Modifier%20l’entreprise%22%2C%0A%20%20%20%20’menu_name’%20%3D%3E%20’Entreprises’%0A%20%20)%3B%0A%0A%20%20%24args%20%3D%20array(%0A%20%20%20%20’labels’%20%3D%3E%20%24labels%2C%0A%20%20%20%20’public’%20%3D%3E%20true%2C%0A%20%20%20%20’has_archive’%20%3D%3E%20true%2C%0A%20%20%20%20’supports’%20%3D%3E%20array(‘title’%2C%20’editor’%2C’thumbnail’%2C’custom-fields’)%2C%0A%20%20%20%20’menu_position’%20%3D%3E%205%2C%0A%20%20%20%20’menu_icon’%20%3D%3E%20’dashicons-store’%2C%0A%20%20)%3B%0A%0A%20%20register_post_type(‘entreprises’%2C%24args)%3B%0A%0A%7D%0A%0Aadd_action(‘init’%2C%20’create_post_types’)%3B” message=”” highlight=”” provider=”manual”/]

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 :

[smoothie_button url=”https://developer.wordpress.org/resource/dashicons/” label=”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’ :

[pastacode lang=”php” manual=”%20%20%24args%20%3D%20array(%0A%20%20%20%20’labels’%20%3D%3E%20%24labels%2C%0A%20%20%20%20’public’%20%3D%3E%20true%2C%0A%20%20%20%20’has_archive’%20%3D%3E%20true%2C%0A%20%20%20%20’supports’%20%3D%3E%20array(‘title’%2C%20’editor’%2C’thumbnail’)%2C%0A%20%20%20%20’menu_position’%20%3D%3E%205%2C%0A%20%20%20%20’menu_icon’%20%3D%3E%20’dashicons-store’%2C%20%0A%20%20)%3B” message=”” highlight=”” provider=”manual”/]

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 2835 jours - Il n'est peut être plus à jour !

Article écrit par Maxime BJ

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

Co-fondateur de WPChef, la formation WordPress pour les débutants. Vous pouvez me rencontrer lors d’événements tels que les WordCamp. Traducteur Français de l’extension Advanced Custom Fields. Je m’occupe un site pour apprendre l’informatique aux débutants gratuitement.

2 Commentaires

  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