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.
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]
1 2 3 4 5 6 7 8 9 10 11 |
<?php class Zero_Plugin { public function __construct () { // ... include_once plugin_dir_path ( __FILE__ ).'recent .php '; new Zero_Recent (); ?> |
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]
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php class Zero_Recent { public function __construct () { add_shortcode (' zero_recent_articles ', array ($this , ' recent_html ')); } } ?> |
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]
1 2 3 4 5 6 7 |
<?php public function recent_html ($atts , $content ) { } ?> |
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]
1 2 3 4 5 |
<?php $atts = shortcode_atts ( array ('numberposts ' => 5), $atts ); ?> |
cette fonction, tous les autres paramètres fournis au shortcode seront ignorés
et supprimés ![/box] [p][dropcap class=”text-prime”]U[/dropcap]ne 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]
1 2 3 4 5 |
<?php $posts = get_posts ( $atts ); ?> |
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.[/box] [p][dropcap class=”text-prime”]I[/dropcap]l 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]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php $html = array (); $html [] = $content ; $html [] = '<ul >'; foreach ( $posts as $post ) { $html [] = '<li ><a href =" '. get_permalink ( $post ).'">'.$post -> post_title .' </a ></li >'; } $html [] = ' </ul >'; echo implode ('', $html ); ?> |
de contenu d’une de vos publications, et placez le code suivant à l’intérieur :[/p][/box] [box type=”basic-light”][zero_recent_articles numberposts =3]Voici les derniers articles
publiés sur le blog :[/zero_recent_articles][/box] [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][dropcap class=”text-prime”]U[/dropcap]n 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
J’ai son bouquin et le tuto est bien retransmis, pratique et simple, merci à vous !
Merci !
Tout est bien expliqué merci