Cómo ejecutar un shortcode al hacer clic en un botón

24 ene 2017, 16:39:30
Vistas: 23.3K
Votos: 1

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.

3
Comentarios

[enlace]<a href="<?php echo do_shortcode( '[wizard id=1]' ); ?>" > Cualquier texto para el enlace</a>

nina nina
24 ene 2017 16:40:49

¿Qué estás intentando hacer? ¿Te refieres al editor de WordPress?

kirillrocks kirillrocks
24 ene 2017 20:56:53

voto negativo, ya que sin información adicional la pregunta confunde el lado del servidor y el cliente de una manera que la hace imposible de responder

Mark Kaplun Mark Kaplun
25 ago 2017 08:32:10
Todas las respuestas a la pregunta 3
0

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>
25 ene 2017 04:59:53
0

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

6 mar 2024 07:16:06
1

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?

28 ago 2024 20:12:50
Comentarios

Agrega tus comentarios como un comentario en la respuesta de Vijay, no como una respuesta a la pregunta general.

BlueDogRanch BlueDogRanch
28 ago 2024 20:17:43