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?

1
Comentarii

Nu sunt sigur dacă acest lucru este chiar posibil, deoarece un shortcode este creat în PHP, iar PHP rulează pe partea de server. În schimb, JavaScript rulează pe partea de client. Totuși, ar trebui să poți rula această funcție în PHP.

Menno van der Krift Menno van der Krift
2 oct. 2017 17:19:22
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

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.

Rup Rup
13 feb. 2024 17:46:04