Cum să execuți un shortcode folosind JavaScript
2 oct. 2017, 17:15:50
Vizualizări: 28.2K
Voturi: 4
Să presupunem că avem acest shortcode:
[spu-close class="" text="" align=""]
Vreau să afișez acest shortcode când fac click pe un buton, acesta este HTML-ul meu:
<input class="button b" onclick="openFile(link);" type="button" value="descarcă" />
și acesta este fișierul meu JavaScript:
function openFile(link){
//Vreau să fac ceva de genul
do_shortcode('[spu-close class="" text="" align=""]', false );
//
}
Nu știu cum pot face acest lucru, mă poate ajuta cineva?

Doppy
41
Comentarii
Toate răspunsurile la întrebare
1
1
pentru a executa un "ShortCode" care este pe partea de server -> WordPress -> PHP, prin JavaScript care este pe partea de client, va trebui să folosești AJAX!
poți folosi ceva de genul:
1- în fișierul tău .js încărcat:
jQuery(document).ready(function($) {
$('.buttonClass').on('click', function() {
$.ajax({
url: Param.doShortCode,
type: 'POST',
data: {
action: 'handle_ajax_shortcode',
},
success: function() {
//fă ceva la succes
},
error: function() {
//fă ceva la eroare
}
})
})
});
2- în fișierul php:
//localizează scriptul tău
$Param = array(
'doShortCode'=>admin_url( 'admin-ajax.php' ),
);
wp_localize_script('handle_ajax_shortcode','Param', $Param);
//execută pentru utilizatorii care nu sunt autentificați.
add_action( 'wp_ajax_nopriv_handle_ajax_shortcode', 'handle_ajax_shortcode' );
//execută pentru utilizatorii care sunt autentificați.
add_action( 'wp_ajax_handle_ajax_shortcode', 'handle_ajax_shortcode' );
function handle_ajax_shortcode(){
//pune orice vrei să fie executat când evenimentul JavaScript este declanșat
do_shortcode( string $content, bool $ignore_html = false )
// Nu uita să oprești execuția ulterior.
wp_die();
}
pentru mai multe informații poți verifica Link1 & Link2 & Link3

IBRAHIM EZZAT
269
2 oct. 2017 19:40:44
Comentarii
Un utilizator anonim subliniază că setați acțiunea de două ori: o dată în URL și o dată în corpul postării.

13 feb. 2024 17:46:04
Întrebări similare
2
răspunsuri
1
răspunsuri
3
răspunsuri