Cómo ejecutar un shortcode al hacer clic en un botón
Quiero ejecutar un shortcode al hacer clic en un botón / enlace
<a href="<?php echo do_shortcode( '[wizard id=1]' ); ?>" class="btn" > CLIC PARA ABRIR SHORTCODE</a>
pero no está funcionando.

No puedes agregar un shortcode directamente en PHP. Sin embargo, cada shortcode ejecuta una función, por lo que simplemente puedes añadir esa función a tu código de enlace.
Si tu shortcode es algo como esto:
function my_custom_shortcode( $atts, $content= NULL) {
shortcode function
}
add_shortcode ( 'my_custom_shortcode' , 'my_custom_shortcode' );
usa esto en tu enlace:
<a href="<?php my_custom_shortcode(); ?>" class="btn" > CLIC PARA ABRIR SHORTCODE</a>

Para llamar a un shortcode al hacer clic en un botón, no puedes usar PHP directamente dentro de atributos HTML como href. En su lugar, necesitas usar JavaScript para lograr esta funcionalidad.
<!-- Código HTML para el botón -->
<a href="#" id="shortcodeButton" class="btn">CLIC PARA ABRIR SHORTCODE</a>
<!-- Código JavaScript -->
<script>
// Añadir un event listener al botón
document.getElementById('shortcodeButton').addEventListener('click', function(event) {
// Prevenir el comportamiento por defecto del anchor tag
event.preventDefault();
// Llamar al shortcode usando JavaScript
var shortcodeResult = '<?php echo do_shortcode("[wizard id=1]"); ?>';
// Redirigir o hacer algo con el resultado
// Por ejemplo, puedes redirigir a la URL del resultado
window.location.href = shortcodeResult;
});
</script>
Tu función de shortcode [wizard id=1] está correctamente definida y devolverá el resultado deseado

Vijay, gracias por tu ayuda. Entiendo lo que intentas mostrar con el ejemplo proporcionado, pero parece que ejecuta el shortcode inmediatamente al cargar la página, y no al hacer clic en el enlace. ¿Hay alguna forma de evitar eso? ¿Es esto lo que se supone que hace el
event.preventDefault();
o falta algo más?
