Mes 7 plugins essentiels pour développer des sites WordPress

Introduction

Inutile de vous dire que WordPress est l’un des CMS les plus utilisés dans le monde du web ?

Il représente selon W3Techs 36% du web et détient 62% des parts de marché dans l’univers des CMS suivi par Joomla, Drupal, Squarespace et Wix.

La force de WordPress c’est de permettre la création d’un site internet au néophyte, au passionnée du dimanche jusqu’au développeur chevronné ou au freelance aggueri.

C’est cette palette large d’utilisateurs, de plugins, de façons d’utiliser le CMS qui en fait à la fois sa force (la communauté 🙌) et sa faiblesse (non seulement ça rime mais en plus ça mériterait un article)

Pour répondre à diverses demandes de création de sites sur-mesure, cela demande du temps, de l’expérience mais aussi, et surtout, des plugins de qualité pour développer/créer dans le confort.

Aujourd’hui, on fait le tour de plusieurs plugins indispensables et que l’on pourrait qualifier de plugins « must-have » pour certains.

Advanced Custom Fields

Si je devais choisir le plugin phare à mettre entre toutes les mains sans modération, ce serait ACF (Advanced Custom Fields que l’on pourrait traduire littéralement par Champs Personnalisés Avancés) développé par Elliot Condon.

Il s’agit d’un outil qui permet la création de champs personnalisés de tout type : texte, nombre, image, case à cocher, et j’en passe… Pour tous les découvrir, un petit coup d’oeil sur la documentation – bien fournie – ici à la rubrique Fields Types

Oui, d’un simple blog peut naître un site qui répond à un besoin spécifique, customisé à la perfection pour une utilisation précise. Et oui, WordPress, c’est certes un CMS mais bien plus qu’une simple boite à outils de bloggueur – ce à quoi on a trop tendance à le réduire.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8cde640a-61a6-49f6-829a-f5b86043c024/screenshot-1.jpg

WordPress + ACF = ❤️

Source : moi 👩🏻‍💻

À quoi pourrait nous servir les champs personnalisés ?

Je ne vais pas me lancer dans une explication poussée car je réserve un article sur le sujet pour le blog… 😉

Imaginons que je souhaite pouvoir ajouter sur tous les articles que je publie une citation inspirante qui soit indépendante de là où j’écris mon article.

C’est tout à fait possible avec Advanced Custom Fields !

Brève explication 👇

  1. Il suffit de créer groupe de champ que l’on appelera « Citations« 
  2. Dedans, il y aura deux champs de type texte (l’un pour la citation et l’autre pour l’auteur)
  3. Utiliser une condition d’affichage telle que « Montrer ce groupe de champs quand : Type de publication est égal à Article »

Ainsi, sur tous les articles se trouvera parmi le titre et le corps de notre article, notre groupe de champ dédié à notre fameuse citation que l’on pourra remplir à souhait de citations tout aussi inspirantes les unes que les autres.

Ensuite, il faudra récupérer dynamiquement les champs personnalisés dans le fichier PHP correspondant, en l’occurence single.php

Merveilleux, n’est-ce pas ? 😍

Et dire que ce n’est qu’un fragment de ce que permet ACF… C’est, à mon avis, l’un des plugins les plus importants de la boite à outils des développeurs WordPress : son apprentissage est requis.

CPT UI

Dernière cet acronyme se cache l’abréviation de Custom Post Type User Interface ce qui signifie Interface Utilisateur pour Type de Publication Personnalisée.

Oui, ça a tout de suite un peu moins de charme en français. 😅

Avant de rentrer dans le vif du sujet, il faut expliciter ce qu’est un Custom Post Type.

Nativement WordPress propose 2 types de contenus : les Pages et les Articles.

Il est possible de créer un CPT dans le fichier functions.php de notre WordPress (voir la photo ci-dessous) mais la façon la plus simple et intuitive est de passer par l’interface graphique proposée par Custom Post Type UI.

Par exemple, si je souhaite créer un CPT qui me servirait à présenter des développeurs / développeuses connus dans le monde du dév-web, ça donnerait ça 👇

/*
* Fonction permettant la création d'un type de publication personnalisée (CPT)
*/

function wpcodeuse_custom_post_type() {

	$labels = array(
		'name'                => _x( 'Profils de développeur/ses', 'Post Type General Name'),
		'singular_name'       => _x( 'Profil de développeur/se', 'Post Type Singular Name'),
		'menu_name'           => __( 'Les profils de développeur/ses'),
		'all_items'           => __( 'Tous les profils de développeur/ses'),
		'view_item'           => __( 'Voir les profils de développeur/ses'),
		'add_new_item'        => __( 'Ajouter un nouveau profil de développeur/se'),
		'add_new'             => __( 'Ajouter'),
		'edit_item'           => __( 'Editer le profil de développeur/se'),
		'update_item'         => __( 'Modifier le profil de développeur/se'),
		'search_items'        => __( 'Rechercher un profil de développeur/se'),
		'not_found'           => __( 'Profil introuvable'),
		'not_found_in_trash'  => __( 'Profil non trouvé dans la corbeille'),
	);
	
	// Ici on va configurer d'autres réglagles pour notre CPT de Profil de Développeur/ses
	
	$args = array(
		'label'               => __( 'Profils de développeur/ses'),
		'description'         => __( 'Listing des profils de développeur/ses'),
		'labels'              => $labels,
		'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
		
		'show_in_rest'        => true,
		'hierarchical'        => false,
		'public'              => true,
		'has_archive'         => true,
		'rewrite'			  => array( 'slug' => 'profildedeveloppeurs'),

	);
	
	// On enregistre notre CPT nommé "profildedeveloppeurs"
	register_post_type( 'profildedeveloppeurs', $args );

}

add_action( 'init', 'wpcodeuse_custom_post_type', 0 );

Custom Post Type UI permet de faire ce que j’ai indiqué ci-dessus sans avoir à l’écrire à la main dans le fichier des fonctions – directement avec une interface.

🚨 Petite mise en garde : je préfère préciser que c’est important de comprendre le fonctionnement du CPT dans notre code. Il faut voir ce plugin comme un gain de temps et pas un substitut, sinon, on finit par s’y perdre.

Si vous vous demandiez comment d’un simple site WordPress, on passe à un site WordPress qui permet de créer un site de gestion de biens immobiliers, un site e-commerce, un site de gestions de membres ou un site sur des recettes de cuisine… Ce paragraphe est une réponse ! 😉

Duplicate Post

De façon native, WordPress ne propose pas cette fonctionnalité de dupliquer (« cloner » dans l’interface de l’administration) un article ou une page. Ce plugin, développé par Enrico Battocchi, propose cette fonctionnalité sans chichis, alors pourquoi s’en priver ?

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5626ceb2-9929-4fe5-851e-48e5bb5c7b0f/screenshot-2.jpg

L’utilité évidente de ce plugin permet de ne pas avoir à recréer du contenu manuellement pour effectuer des tests sur une page, un article, une page produit…

C’est un must-have, un plugin indispensable pour gagner du temps et éviter des copier/coller incessants. 👍

Query Monitor

Query Monitor c’est le gros couteau suisse du débogage quand on développe un site WordPress.

Oui, je vous l’avoue, cette extension fait un peu peur quand on débute. Je me rappelle bien avoir été quelque peu perdue quand j’avais installé ce plugin pour la première fois…

Développé par John Blackbourn (again), ce que permet Query Monitor, c’est d’avoir une vue d’ensemble sur différentes informations importantes sur votre site WordPress :

  • le nombre de requêtes effectuées en base de données (et tout un tas d’autres informations)
  • les hooks et actions utilisés et leurs ordres d’exécution
  • les erreurs PHP
  • le temps de chargement d’une page
  • le template utilisé dans la Template Hierarchy
  • d’autres informations sur votre configuration serveur

C’est un plugin qui demande du temps à apprivoiser (et je ne prétends pas être experte de ce plugin, loin de là 😅) mais le but principal de Query Monitor, c’est de pouvoir rapidement identifier quel rouage bloque dans la mécanique du site.

Il m’a aidé de nombreuses fois et il mérite clairement qu’on lui consacre du temps pour pouvoir en tirer le maximum pour développer/déboguer de manière plus efficiente.

Contextual Admin Bar

Que celui ou celle qui s’est déjà trompé entre son environnement de développement local ou pré-production avec le site en ligne, lève la main ?

Je vous vois et j’ai la solution pour vous. 🙌

Proposé par deux entités importantes de la communauté WordPress (l’agence Whodunit et Jean Baptiste Audras) pour le bonheur de tous les utilisateurs : le plugin Contextual Admin Bar.

Excepté l’URL de votre site local, votre serveur de pré-prod et votre site en production qui sont à chaque fois différentes, comment faire la différence visuellement entre 3 sites identiques ?

C’est simple : en changeant la couleur de la barre en en-tête de l’administration WordPress et en ajoutant un message personnalisé, par exemple « Pré-prod » ou encore « Site de production ».

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/7447bbe8-81aa-475d-a307-1c65c510b645/screenshot-1.png

Le genre de plugin efficace comme on les aime pour nous faciliter la vie au quotidien, merci ! 🙏

User Role Editor

Par défaut, WordPress embarque 6 rôles utilisateurs pour répondre à différents besoins :

  • Administrateur
  • Éditeur
  • Auteur
  • Contributeur
  • Abonné

Le sixième rôle est celui de Super Admin et est valable uniquement lors d’un multisite : ce rôle permet d’être l’administrateur du réseaux des multisites.

Au delà des rôles utilisateurs, il existe aussi la notion de « capabilities » à savoir les capacités des rôles. Moins le rôle est important, moins il aura de capacité d’actions et de privilèges sur le site.

Les capabilities permettent d’avoir la main sur ce que les utilisateurs peuvent et ne peuvent pas faire sur une installation WordPress : écrire des articles, créer des pages, gérer les thèmes, modérer les commentaires, etc.

Pour aller plus loin dans cette thématique, je ne peux que conseiller la lecture de l’excellente documentation de WordPress, au chapitre « Roles and Capabilities » 👍

En ce qui concerne le plugin User Role Editor, il permet la création de nouveaux rôles personnalisés en fonction des besoins et du fonctionnement d’un site.

Par exemple, si un référent SEO doit pouvoir se connecter à notre WordPress pour venir apporter son expertise dans le référencement, c’est possible. On va lui créer le rôle « SEO » et on va lui attribuer les permissions nécessaires pour son périmètre d’action et l’accès à certains plugin.

Les possibilités du spectre de personnalisation sont large et ouvrent tout un champ des possibilités ! Il ne reste que votre imagination et vos demandes clients pour les envisager. 👌

User Switching

Je ne pouvais pas parler du super plugin User Role Editor sans parler d’un autre plugin qui lui est complémentaire : le plugin User Switching développé par John Blackbourn (again & again).

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/127c3549-b154-453f-aae0-6369551dd7f9/screenshot-1-2.png

Créer des rôles utilisateurs, c’est bien.

Mais qu’en est-il de la connexion/déconnexion pour vérifier des changements sur un autre profil utilisateur sans se prendre la tête ? 🧐

La solution est toute trouvée en un clic avec l’option « Switch To » qui permet de basculer instantanément d’un profil à un autre sans friction. On peut rebasculer sur le compte administrateur en un clic également.

Ça vous fait gagner du temps et de l’argent, merci qui ?

Merci John Blackbourn & la communauté WordPress. 🙌

Conclusion

Cet article vous a plu ?

Alors n’hésitez pas à partager dans l’espace des commentaires, vos plugins préférés, ceux qui vous mettent des étoiles dans les yeux, ceux qui vous ont sauvés in-extremis du chaos, ceux qui vous font gagner du temps au quotidien…

Je veux un maximum de commentaires pour en faire profiter toute la communauté ; à vos claviers ! 🤩

Partager l'article

Partager sur facebook
Facebook
Partager sur twitter
Twitter
Partager sur linkedin
LinkedIn

Une réponse

  1. Merci pour ces plugins, j’utilise régulièrement User Role Editor et Duplicate Post (en effet, ce serait plus simple d’avoir ça en natif dans WordPress !). J’ai publié récemment une liste de mes 20 plugins préférés et User Role Editor en faisait d’ailleurs partie. J’ajouterais, pour le côté travail dans le back-end, le plugin Better Search Replace, qui est tellement pratique pour remplacer les anciennes URL par les nouvelles dans la base de données (quand on migre un site par exemple, ou qu’on le fait passer du HTTP au HTTPS).

Laisser un commentaire

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

Les points-clefs de l'article

Codeuse.fr

Ces articles peuvent aussi t'intéresser 👇