echo do_shortcode avec variable

Par hatfab, il y a 10 ans


Bonjour,
Je voudrais pouvoir passer une variable à une fonction <code>do_shortcode</code>. Je n'arrive pas à trouver de solution sur le net. Voilà ce que je cherche à faire :

<?php $tags = '202'; echo do_shortcode('[tribe_events_list tags="#$tags" limit="3"]'); ?>

La variable n'est pas du tout prise en compte.
Si quelqu'un connait la bonne syntaxe …
Merci !

2 réponses

Ramzz1994, il y a 10 ans

Sur l'aspect technique de PHP :

<?php // En utilisant des guillemets simples : // Tu dois absolument utiliser une concaténation. echo do_shortcode('[tribe_events_list tags="#' . $tags . '" limit="3"]'); // En utilisant des guillemets doubles : // Tu dois cependant échapper les prochains guillemets doubles à l'intérieur de ta chaîne de caractères... // Ta variable $tags sera prise en compte. echo do_shortcode("[tribe_events_list tags=\"#$tags\" limit=\"3\"]"); // Dans le même cas, si jamais ta variable $tags était suivie de quelque chose d'autre (ou serait un tableau), // Tu pourrais entourer cette variable d'accolades. echo do_shortcode("[tribe_events_list tags=\"#{$tags}SuperSuffix\" limit=\"3\"]"); // Autrement $tagsSuperSuffix serait ta variable. echo do_shortcode("[tribe_events_list tags=\"#{$tags['quelqueChose']}\" limit=\"3\"]");
hatfab, il y a 10 ans

Salut Ramzz1994,
Merci beaucoup pour ce cours de syntaxe. Dans mon cas la première solution suffit mais les autres sont riches d'enseignement.
Je me mets ça de côté : )
Bonne journée !