Ajout de shortcode dans le HTML brut de Visual Composer
1 réponses
- votes
Quand vous regardez comment do_shortcode()
fonctionne réellement,alors c'est ça:
do_shortcode( $content )
Où $content
est défini comme suit:
(string)
Contenupour rechercher des shortcodes
Ce que vousessayez defaireest de echo
ce quefait le shortcode ,conduisant à unefausse hypothèse. Iln'y apas defonctionmagiquepour découvrir votre shortcode. Le shortcodeest simplement un rappel (unefonction ou uneméthode) attaché à une chaîne que vouspouvezmettreentre crochets dans le contenu detexteintégral. Lorsque le contenuest lupendant le cycle de vie/runtimeet esttrouvé,le rappel attachéestexécuté à saplace. Àpeuprès lamême chose que ce qui sepasse avec les actionset lesfiltres. Donc
add_shortcode( 'bartag', 'bartag_func' );
permet cela
[bartag foo="bar"]
où bartag_func
est le rappel. Parexemple:
function bartag_func( $atts )
{
$args = shortcode_atts( array(
'foo' => 'no foo',
'baz' => 'default baz',
), $atts );
return "foo = {$args['foo']}";
}
Ce que vous recherchez (ou devriez être)est l'endroit où le shortcodeest ajouté avec add_shortcode()
. Ensuite,trouvez simplement le rappel (parexemple,le bartag_func()
)et exécutez-le oufaites-le écho
echo bartag_func();
C'esttout.
When you look at how do_shortcode()
actually works, then it's this:
do_shortcode( $content )
Where $content
is defined as the following:
(string)
Content to search for shortcodes
What you are trying to do is to echo
what the shortcode does, leading to a false assumption. There is no magic function discovering your shortcode. The shortcode simply is a callback (a function or a method) attached to some string that you can put between square brackets in full text content. When the content is read during the livecycle/runtime and is found, then the attached callback is executed in its place. Pretty much the same as what happens with actions and filters. So
add_shortcode( 'bartag', 'bartag_func' );
allows this
[bartag foo="bar"]
where bartag_func
is the callback. For e.g.:
function bartag_func( $atts )
{
$args = shortcode_atts( array(
'foo' => 'no foo',
'baz' => 'default baz',
), $atts );
return "foo = {$args['foo']}";
}
What you are (or should be) searching for is where the shortcode gets added with add_shortcode()
. Then just find the callback (for e.g. the bartag_func()
) and execute or echo it
echo bartag_func();
That's it.
J'utilise Visual Composeret j'ai saisi du HTML dans un élément HTMLbrutpour untableau deprixpersonnalisé -j'aimeraismaintenantpouvoir utiliser leplugin World Currencypour afficher lesprix dans différentes devises.
Le code court de la devisemondialeest:
Lorsquej'entre ceci dans le HTMLbrut,il apparaît sousforme detexteexactement comme ci-dessus.
Sije le saisisen utilisant:
rienne s'afficheet lors de la vérification de la source,tout l'échoest commenté dans le HTML.
Existe-t-il unmoyen d'utiliser le shortcode dans Raw HTML ou un autre élément de Visual Composer quime permettra d'utiliser le shortcodeet HTML?