Rue de l'info

Article

WordPress : Comment créer un shortcode ?

par | 4-11-2018 | Tutos, WordPress | 3 commentaires

[fancy_header tag= »h1″]WordPress : Comment créer un shortcode ?[/fancy_header]

[p]Ce tutoriel s’adresse à des personnes ayant des connaissances en PHP ou plus si affinité...[/p]

Que diriez-vous de créer un shortcode simple, dont le rôle sera par exemple de lister
les derniers articles publiés sur votre blog ? Placé par exemple dans une page statique,
il fournira sous forme de liste les titres des derniers articles avec un lien vers chacun
d’eux.

[p]Pour traiter le shortcode, il faudra utiliser une nouvelle classe de notre plugin qui
sera dédiée au rendu de la liste des derniers articles. Ajoutez donc un nouveau fichier
recent.php dans lequel vous définirez une classe Zero_Recent, elle-même étant instanciée
dans le constructeur de la classe Zero_Plugin, comme cela a été fait pour les classe
précédentes.[/p]

[p]Il faut ensuite déclarer le shortcode afin que WordPress sache le reconnaître dans le
contenu d’une publication. On utilise pour cela la méthode add_shortcode(), qui attend
en paramètres le nom du shortcode ainsi que la fonction à appeler lors de son rendu.
Placez donc cet appel dans le constructeur de la classe Zero_Recent.[/p]

[p]WordPress a dorénavant connaissance du nouvel élément, il ne lui manque que la définition
de la fonction à appeler pour l’afficher. Cette dernière recevra deux arguments
lors de son appel : le premier est un tableau des paramètres permettant de configurer
le shortcode, le second est la valeur du contenu si le shortcode a été déclaré avec les
deux balises ouvrante et fermante[/p]

[p]La première chose à faire est d’initialiser des valeurs par défaut pour les paramètres
du shortcode, si jamais ceux-ci n’ont pas été fournis. En effet, un shortcode doit au
maximum pouvoir être utilisé sans paramètres, il faut donc prévoir un comportement fonctionnel dans ce cas. Pour fusionner simplement le tableau de paramètres fournis et
les valeurs par défaut, WordPress propose la fonction shortcode_atts().[/p]

Seules les clés du tableau des valeurs par défaut seront présentes en sortie de cette fonction, tous les autres paramètres fournis au shortcode seront ignorés et supprimés !

[p]Une fois les arguments filtrés, vous pouvez récupérer la liste des derniers articles avec la
fonction get_posts(), pour laquelle les paramètres doivent être envoyés dans un tableau
comme premier argument. La fonction renverra alors une liste d’articles, qui sont par
défaut triés par date décroissante, ce qui correspond à nos besoins.[/p]

Vous pouvez bien entendu rajouter de nouveaux paramètres compatibles avec la fonction dans le tableau $atts, il vous suffit pour cela de regarder la définition de la fonction pour connaître la liste des clés autorisées.

[p]Il ne reste plus qu’à parcourir la liste des articles et à les insérer dans une liste au
format HTML, avec un lien permettant d’afficher chacun d’entre eux. Si la variable $content a été définie par l’utilisateur du shortcode, vous pouvez l’insérer par exemple au dessus de la liste, ce qui permet de rajouter un texte de présentation.[/p]

[p]Le shortcode est terminé et prêt à être utilisé ! Rendez-vous pour cela dans l’éditeur de contenu d’une de vos publications, et placez le code suivant à l’intérieur :[/p]
[zero_recent_articles numberposts =3]Voici les derniers articles publiés sur le blog :[/zero_recent_articles]

[p]À l’affichage de la page, vous obtenez la liste à jour des trois
derniers articles publiés.[/p]

[fancy_header]En résumé[/fancy_header]

[p]Un shortcode est un morceau de code PHP que l’on insère directement au sein
d’une publication. Il permet l’affichage de contenu sans savoir même coder.
Les shortcodes peuvent récupérer des paramètres fournis par le contributeur
d’un article pour modifier leur affichage.
Il existe plusieurs formats pour les shortcodes, avec une seule ou deux balises
pour rajouter du contenu.[/p]

(tutoriel signé Julien Chichignoud).

> Voir tous les articles WordPress ici