Dans WordPress, un shortcode comme [gallery], [contact-form-7] ou [mon_shortcode] fonctionne très bien dans le contenu d’un article. Mais si vous le retournez directement depuis une fonction PHP, WordPress ne l’exécutera pas automatiquement.
Autrement dit, ceci ne suffit pas toujours :
return '[mon_shortcode]';Code language: JavaScript (javascript)
Dans ce cas, vous risquez d’afficher le texte brut du shortcode au lieu de son rendu HTML. Pour demander à WordPress d’interpréter le shortcode, il faut utiliser do_shortcode() ou apply_shortcodes().
Exécuter un shortcode avec do_shortcode()
La méthode classique consiste à appeler do_shortcode() :
<?php
function skyminds_render_custom_shortcode(): string {
return do_shortcode( '[mon_shortcode]' );
}Code language: HTML, XML (xml)
La fonction do_shortcode() analyse la chaîne fournie, cherche les shortcodes enregistrés, puis exécute les callbacks correspondants.
Si le shortcode est fourni par un plugin désactivé, WordPress ne pourra pas l’exécuter. Dans ce cas, la chaîne peut rester visible telle quelle. C’est logique : WordPress ne peut pas appeler une fonction qui n’existe plus. Même lui a ses limites.
Lire la suite