/ / wordpress: Un moyen d'exécuter un shortcode quand un bouton est cliqué - jquery, wordpress, shortcode

wordpress: Un moyen d'exécuter un shortcode quand un bouton est cliqué - jquery, wordpress, shortcode

Je suis nouveau avec Wordpress et j'en aiproblèmes avec les codes courts: J'essayais d'exécuter un shortcode (gridfx) lorsque le contenu est chargé et en fait, lorsqu'un clic est effectué sur un onglet et que la zone à onglets est visible (à l'endroit où le contenu du shortcode doit être placé). Je le réalise comme ça:

jQuery(document).ready(function() {
jQuery("#docu").click(function() {
<?php
$short = "[gridfx theme="light" posttypes="product" postids="".$postids ."" include_terms=75,70,72,76,84,223,225,221,219,194,192,193,191 single_show_content=9 show_overlay_title_v2=0 show_overlay_title=0 sortmenu=0 instantsearch=0 columns=3 items_container_width=100 excerpt_below_title=15]";
$sh = do_shortcode($short); ?>
jQuery(".short").text("<?php echo $sh ?>");

});

});

mais le résultat dans Firefox sur l'actualisation du site est le suivant: jQuery (". short"). text ("

")}
et le résultat est affiché dans le mauvais sens(html est cassé). Donc, le shortcode s'exécute sur sideload et non sur click event. Y a-t-il un moyen d'y parvenir? La raison pour laquelle je pose la question est que le chargement de contenu à partir de codes abrégés dans une zone non visible conduit à ce que le résultat du code abrégé ne soit pas affiché ou affiché uniquement avec une hauteur de 1px. shortcode dans un onglet, lorsque vous cliquez sur l'onglet Tab, il semble que le shortcode soit exécuté lors du chargement latéral et non lors de l'affichage du volet. J'ai besoin de conseils s'il vous plaît! Merci beaucoup! Jimmi4u

Réponses:

0 pour la réponse № 1

Vous utilisez .text( ... ) ajouter le contenu. Mais cela supprime tout le code HTML. Et vous devrez peut-être ajouter des barres obliques

jQuery(".short").html("<?php echo addslashes($sh); ?>");

Si cela ne fonctionne pas, y a-t-il une erreur à l'intérieur de la console?


0 pour la réponse № 2

Attribuer votre <?php echo $sh ?> à une variable Essaye ça :

var sh = "<?php echo $sh ?>";
$(".short").html(sh);