Guide d’introduction sur les shortcodes WordPress

Les shortcodes WordPress sont apparus avec WordPress 2.5 et sont généralement peux ou ou pas utilisés car les utilisateurs ne connaissent pas vraiment leur existence et leur utilité à l’inverse des développeurs de plugins qui les utilisent régulièrement.

Qu’est-ce qu’un Shortcode WordPress ?

Les shortcodes WordPress sont des balises personnalisées qui permettent d’afficher un ou plusieurs éléments liés à du code php au sein de vos articles, de vos pages ou de vos widgets sans avoir à les coder dans ceux-ci.

Pour ceux qui ont l’habitude des forums, c’est un peu comme les bbCodes qui permettent l’ajout de html au texte.

Il existe de nombreuses utilités aux shortcodes, comme l’ajout d’une publicité au sein d’un article précis après un paragraphe précis, l’ajout de macros, ou encore ajouter une liste de vos derniers articles dans une page personnalisée.

Comment ça fonctionne ?

L’utilisation des shortcodes est très simple, prenons un exemple et affichons les derniers articles de ce site ci-dessous. Nous allons pour cela créer le shortcode « [wpnl_derniers-articles] » et on va lui donner un paramètre comme le nombre d’article à afficher.

Vous pouvez à votre guise rajouter d’autres paramètres, comme la taille de la publicité à afficher ou la catégorie des articles que vous voulez montrer, ajouter un titre, etc…

Les shortcodes peuvent être écrit donc comme tels :

[wpnl_derniers-articles] ou [wpnl_derniers-articles articles= »5″]

ou encore [wpnl_derniers-articles articles= »5″]Les derniers articles[/wpnl_derniers-articles]. si vous souhaitez afficher un titre.

Comment créer un shortcodes wordpress

Nous allons commencer par créer le Shortcodes de base (sans paramètre) par soucis de simplicité. Le processus est le même pour les shortcodes avec paramètres et est détaillé dans le guide les shortcodes avec paramètres.

  1. La première étape est de créer la fonction
  2. La seconde étape est de déclarer la fonction
  3. Utiliser la fonction dans une action.

Tout le code que nous allons ajouter ici s’ajoute dans le fichier functions.php ou dans un fichier séparé que vous n’oublierez pas d’inclure dans functions.php !

Créer la fonction d’appel du shortcode

Lorsqu’un shortcode est trouvé par WordPress lors de l’affichage de votre site, il va se référer à une fonction d’appel et afficher le résultat de celle-ci. Nous allons donc créer une fonction d’appel pour les derniers articles du site avec le code suivant :

function wpln_derniers-articles() {
   query_posts(array('orderby' => 'date', 'order' => 'DESC' , 'showposts' => 1));
   if (have_posts()) :
      while (have_posts()) : the_post();
         $return_string = ''.get_the_title().'';
      endwhile;
   endif;
   wp_reset_query();
   return $return_string;
}

Dans l’exemple suivant nous interrogeons la base de donnée pour qu’elle retourne le dernier billet de votre site sous forme d’un lien titre. Vous pouvez bien évidement personnaliser/optimiser le rendu html ou ajouter le code de votre choix comme la description.

Déclarer l’existence de la fonction à WordPress

Maintenant que notre fonction existe il faut faire savoir à WordPress qu’elle existe pour qu’il puisse l’appeler le cas échéant.

function wpln_register_shortcodes(){
   add_shortcode('derniers-articles', 'wpln_derniers-articles');
}

Ici on déclare à WordPress qu’un shortcode « derniers-articles » existe, et qu’il faut lui attribuer la fonction « wpln_derniers-articles ». Vous pouvez modifier ces deux éléments comme bon vous semble avec par exemple « pub-468-90 » et une fonction « wpln_pub-468-90 » ou vous afficherez un code adsense au format 468-90.

Il ne nous reste maintenant plus qu’à faire en sorte que WordPress exécute notre fonction wpln_register_shortcodes() à chaque chargement, pour ce faire ajoutez simplement :

add_action( 'init', 'wpln_register_shortcodes');

Voilà vous n’avez plus qu’à mettre [derniers-articles] dans votre éditeur de contenu préféré, sauvegardez et regardez le résultat sur la page mise à jour.

You May Also Like

About the Author: Gregory

Laisser un commentaire

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