Cum să apelezi un shortcode la click pe buton
Vreau să apelez un shortcode la click pe un buton / link
<a href="<?php echo do_shortcode( '[wizard id=1]' ); ?>" class="btn" > CLICK PENTRU A DESCHIDE SHORTCODE</a>
dar nu funcționează.

Nu poți adăuga un shortcode direct în PHP. Totuși, fiecare shortcode execută o funcție, așa că poți pur și simplu să adaugi acea funcție în codul link-ului tău.
Dacă shortcode-ul tău arată cam așa:
function my_custom_shortcode( $atts, $content= NULL) {
shortcode function
}
add_shortcode ( 'my_custom_shortcode' , 'my_custom_shortcode' );
folosește acest cod în link-ul tău:
<a href="<?php my_custom_shortcode(); ?>" class="btn" > CLICK TO OPEN SHORTCODE</a>

Pentru a apela un shortcode la click pe buton, nu poți folosi direct PHP în atributele HTML precum href. În schimb, trebuie să utilizezi JavaScript pentru a obține această funcționalitate.
<!-- Cod HTML pentru buton -->
<a href="#" id="shortcodeButton" class="btn">CLICK PENTRU A DESCHIDE SHORTCODE</a>
<!-- Cod JavaScript -->
<script>
// Adaugă un event listener pe buton
document.getElementById('shortcodeButton').addEventListener('click', function(event) {
// Previne comportamentul implicit al tag-ului anchor
event.preventDefault();
// Apelează shortcode-ul folosind JavaScript
var shortcodeResult = '<?php echo do_shortcode("[wizard id=1]"); ?>';
// Redirecționează sau faci ceva cu rezultatul
// De exemplu, poți redirecționa către URL-ul rezultat
window.location.href = shortcodeResult;
});
</script>
funcția ta de shortcode [wizard id=1] este definită corect și va returna rezultatul dorit

Vijay, Îți mulțumesc pentru ajutor. Înțeleg la ce te referi cu exemplul oferit, dar se pare că rulează shortcode-ul imediat la încărcarea paginii, dar nu la click pe link. Există vreo modalitate de a opri acest lucru? Este aceasta ceea ce ar trebui să facă
event.preventDefault();
,
sau lipsește ceva altceva?
