Cómo ejecutar shortcode con JavaScript
2 oct 2017, 17:15:50
Vistas: 28.2K
Votos: 4
Supongamos que tenemos este shortcode:
[spu-close class="" text="" align=""]
Quiero mostrar este shortcode cuando hago clic en un botón, este es mi HTML:
<input class="button b" onclick="openFile(link);" type="button" value="download" />
Y este es mi archivo JavaScript:
function openFile(link){
//Quiero hacer algo como esto
do_shortcode('[spu-close class="" text="" align=""]', false );
//
}
No sé cómo puedo hacer esto, ¿alguien puede ayudarme?

Doppy
41
Comentarios
Todas las respuestas a la pregunta
1
1
Para ejecutar un "ShortCode" que está en el lado del servidor (WordPress/PHP) desde JavaScript que está en el lado del cliente, necesitarás usar AJAX.
Puedes usar algo como:
1- En tu archivo .js en cola:
jQuery(document).ready(function($) {
$('.buttonClass').on('click', function() {
$.ajax({
url: Param.doShortCode,
type: 'POST',
data: {
action: 'handle_ajax_shortcode',
},
success: function() {
//hacer algo en caso de éxito
},
error: function() {
//hacer algo en caso de error
}
})
})
});
2- En el archivo php:
//localiza tu script
$Param = array(
'doShortCode'=>admin_url( 'admin-ajax.php' ),
);
wp_localize_script('handle_ajax_shortcode','Param', $Param);
//se ejecuta para usuarios no logueados
add_action( 'wp_ajax_nopriv_handle_ajax_shortcode', 'handle_ajax_shortcode' );
//se ejecuta para usuarios logueados
add_action( 'wp_ajax_handle_ajax_shortcode', 'handle_ajax_shortcode' );
function handle_ajax_shortcode(){
//coloca aquí lo que quieras ejecutar cuando se active el evento JavaScript
do_shortcode( string $content, bool $ignore_html = false )
// No olvides detener la ejecución después
wp_die();
}
Para más información puedes consultar Enlace1 & Enlace2 & Enlace3

IBRAHIM EZZAT
269
2 oct 2017 19:40:44
Comentarios
Un usuario anónimo señala que estás configurando la acción dos veces: una en la URL y otra en el cuerpo de la publicación.

13 feb 2024 17:46:04
Preguntas relacionadas
2
respuestas
1
respuestas
3
respuestas