Créer un shortcode WordPress


Référence : https://developer.wordpress.org/plugins/shortcodes/

Pour des raisons de sécurité, WordPress ne vous permet pas d’ajouter du code PHP dans une article ou une page.

Si vous désirez que vos utilisateurs puissent ajouter facilement des contenus dynamiques qui nécessitent du PHP, alors vous devrez créer des shortcodes.

Un shortcode peut être comparé à une « marco » ou une seule instruction peut déclencher toute une série de tâches.

Sa ressemble à quoi un « shortcode » ?

Un shortcode c’est comme une balise HTML sauf qu’on utilisera les crochets [ ] à la place des signes plus grand et plus petit < > pour écrire les balises.

Comment utiliser un shortcode ?

Pour utiliser un shortcode, il suffit de l’écrire dans l’éditeur visuel ou texte d’un article ou d’une page.

Ci-dessous un article contenant le shortcode [gallerie id="127" col="3"]

Ajouter_un_nouvel_article_‹_20_minutes_—_WordPress

On peut imaginer que ce shortcode va injecter dans l’article le code HTML, CSS & JavaScript nécessaire à l’affichage des images de la galerie 127 sur 3 colonnes.

Création d’un shortcode basique

Pour créer un nouveau shortcode il faut utiliser la fonction add_shortcode() avec ces deux paramètres :

  1. $tag le nom du shortcode
  2. $func le nom de la fonction de rappel (callback) qui sera appelée lors de cette action

Le code ci-après présente la création du shortecode [yoda] qui affiche la célèbre phrase de Maître Yoda.

//Fonction qui retourne la célèbre citation de maître Yoda
function mon_plugin_yoda_shortcode() {
    return "<blockquote>Que la force soit avec toi jeune padawan !</blockquote>";
}
//Enregistre le shortcode yoda
add_shortcode( 'yoda', 'mon_plugin_yoda_shortcode' );

Enregistrement des shortcodes

Dans un thème on peut directement enregistrer un shortcode en appelant add_shortcode() dans le fichier functions.php, mais dans un plugin on doit activer le shortcode en passant par le crochet init.

Voici comment enregistrer le shortcode [yoda] dans un plugin.

//Fonction de rappel qui retourne la célèbre citation de maître Yoda
function mon_plugin_yoda_shortcode() {
    return "<blockquote>Que la force soit avec toi jeune padawan !</blockquote>";
}

//Enregistre les shortcodes du plugin
function mon_plugin_register_shortcode() {
    add_shortcode( 'yoda', 'mon_plugin_yoda_shortcode' );
}
add_action( 'init', 'mon_plugin_register_shortcode' );
Générateur de shortcode : https://generatewp.com/shortcodes/

Envie d’aller plus loin ? Découvrez les Enclosing Shortcodes et les attibuts