Come eseguire uno shortcode al click di un pulsante
Voglio eseguire uno shortcode al click di un pulsante / link
<a href="<?php echo do_shortcode( '[wizard id=1]' ); ?>" class="btn" > CLICCA PER APRIRE LO SHORTCODE</a>
ma non funziona.

Non puoi aggiungere direttamente uno shortcode al codice PHP. Tuttavia, ogni shortcode esegue una funzione, quindi puoi semplicemente aggiungere quella funzione al tuo codice del link.
Se il tuo shortcode è qualcosa del genere:
function my_custom_shortcode( $atts, $content= NULL) {
// funzione dello shortcode
}
add_shortcode ( 'my_custom_shortcode' , 'my_custom_shortcode' );
usa questo nel tuo link:
<a href="<?php my_custom_shortcode(); ?>" class="btn" > CLICCA PER APRIRE LO SHORTCODE</a>

Per chiamare uno shortcode al click di un pulsante, non puoi usare direttamente PHP all'interno degli attributi HTML come href. Invece, devi utilizzare JavaScript per ottenere questa funzionalità.
<!-- Codice HTML per il pulsante -->
<a href="#" id="shortcodeButton" class="btn">CLICCA PER APRIRE LO SHORTCODE</a>
<!-- Codice JavaScript -->
<script>
// Aggiungi un event listener al pulsante
document.getElementById('shortcodeButton').addEventListener('click', function(event) {
// Previeni il comportamento predefinito del tag anchor
event.preventDefault();
// Chiama lo shortcode usando JavaScript
var shortcodeResult = '<?php echo do_shortcode("[wizard id=1]"); ?>';
// Reindirizza o fai qualcosa con il risultato
// Ad esempio, puoi reindirizzare all'URL risultante
window.location.href = shortcodeResult;
});
</script>
La tua funzione shortcode [wizard id=1] è definita correttamente e restituirà l'output desiderato

Vijay, grazie per il tuo aiuto. Capisco cosa intendi con l'esempio fornito, ma sembra che esegua lo shortcode immediatamente al caricamento della pagina, ma non al clic sul link. C'è un modo per evitarlo? È questo che dovrebbe fare il
event.preventDefault();
oppure manca qualcos'altro?
