Créer des shortcodes

Qu’est ce qu’un shortcode ?

Depuis la Version 2.5 de WordPress, le CMS supporte les Shortcodes. Ils ont été introduits pour créer des macros utilisées dans le contenu d’articles, de pages , de costum post types …

Vous utilisez ceux-ci sans vraiment vous poser de questions et sans vous en rendre compte, en effet les insertions d’images avec légende, les insertions de vidéo ou de galerie d’images sont des Shortcodes intégrés do’ffice à WordPress.

Comment créer un shortcode ?

Pour illustrer les shortcodes, regardons ensemble le shortcode galerie images de WordPress, le simple fait de placer ce shortcode dans un article, aura pour effet d’afficher une galerie de toutes les images associées à ce dernier.

[ gallery ]

On peut également définir des paramètres dans le but de personnaliser l’affichage, dans l’exemple ci-dessous, le shortcode affichera votre galerie d’images en taille moyenne sur 2 colonnes :

[ gallery columns=”2″ size=”medium” ]

Pour créer votre propre shortcode, vous allez devoir passer par le fichier functions.php et faire un ajout de quelques lignes par shortcode. Dans le cas présent nous allons afficher une “carte de Visite” maison via un shortcode.

function CarteDeVisite_mon_shortcode( ) {
   $codehtml = '<h4 class='CDV'>Jonathan ANDRE - Création de site Web<br>Contact : <a href="mailto:contact@creazo.fr">contact@creazo.fr</a> </h4>';
   return $codehtml;
}
 
add_shortcode( 'CarteDeVisite', 'CarteDeVisite_mon_shortcode' );

Afficher votre  shortcode

Aprés avoir intégré votre nouveau shortcode dans functions.php, il ne vous plus qu’a appelez celui-ci via cette ajout dans votre page ou article (sans espaces):

[ CarteDeVisite ]

Et voilà le résultat :

Jonathan ANDRE - Création de site Web
Contact : contact@creazo.fr

Utiliser un shortcode en dehors de la loop

Vous pouvez aussi l’intégrer dans un modèle de page ou un autre fichier de wordpress (single.php par exemple) via cette ajout :

 <?php echo do_shortcode('[CarteDeVisite]'); ?>

 Cela vous permettra de le faire fonctionner en dehors de la loop de WordPress.

Faire apparaître un fonction get_the_XXX

Vous pouvez aussi faire apparaître le titre de votre article ou page via cet ajout de shortcode :

function the_title_shortcode($atts, $content = null) {
  return get_the_title();
}
add_shortcode('the_title', 'the_title_shortcode');

Il ne manque plus qu’à ajouter [the_title] dans votre contenu !