/ / Estrai Stringa di Shortcode di WordPress con Javascript - javascript, wordpress, shortcode

Estratto da WordPress Shortcode String con Javascript - javascript, wordpress, shortcode

qualcuno conosce un metodo per estrarre i parametri e il contenuto da WordPress Shortcode Strings con Javascript o jQuery in un array o variabili Javascript?

Shortcode come questo:

[button url="http://...." color="#00000"]Contact me![/button]

o in questo modo:

[tabs]

[tab title="Title 1"]Content Tab 1[/tab]

[tab title="Title 2"]Content Tab 2[/tab]

[/tabs]

Ho provato a trovare una libreria o alcune regex di lavoro, ma non sono riuscito a trovarne.

Situazione:

Ho già sviluppato un generatore di cortocircuito, che genera cortocircuiti dai valori inseriti dagli utenti nei campi di input. Ora voglio il modo Oposit:

Un utente seleziona uno shortcode nell'editor epreme un pulsante "modifica con generatore" e quindi il javascript ottiene i parametri dallo shortcode. Dopodiché apre la finestra di dialogo da questo shortcode usando jquery-ui. Quindi dovrebbe riempire i valori nei campi corrispondenti in una finestra di dialogo, in modo che l'utente possa modificarli facilmente.

Penso che una versione javascript corrispondente della funzione wordpress shortcode_atts () faccia il lavoro ?!

Grazie per il tuo aiuto!

risposte:

2 per risposta № 1

Quello che dovrei fare è stampare le variabili JS all'interno dello Shortcode:

add_shortcode( "buttons", "js_vars_so_19604963" );

function js_vars_so_19604963( $atts, $content = null, $shortcode )
{
$output = "Normal shorcode work here";

$output .= "<script type="text/javascript">
var sc_button_color = "" . $atts["color"]. "";
</script>";

return $output;
}

Quindi, accedi a loro in JavaScript: console.log(sc_button_color).


Un utente seleziona uno shortcode nell'editor e preme un pulsante "edit with generator" e quindi il javascript ottiene i parametri dallo shortcode.

Per sapere cosa l'utente ha selezionato nella casella dei contenuti di cui abbiamo bisogno tinyMCE.activeEditor.selection.getContent. Questo getContent deve essere analizzato con RegEx per estrarre lo Shortcode esatto e i suoi attributi. Non ci sono soluzioni predefinite per questo e dovrai costruirlo da zero, caso per caso.


1 per risposta № 2

WordPress ha un nuovo oggetto sul wp oggetto chiamato shortcode. È una funzione di costruzione per creare oggetti Javascript wp.shortcode. Puoi usare i suoi metodi per fare ogni genere di cose. Penso che sia meglio ispezionare l'implementazione nel core di WordPress, è ben commentato e ha alcuni metodi implementati.

Questo metodo consente di elaborare codici brevi in ​​una stringa sostituendoli mediante l'uso di una funzione di callback.

wp.shortcode.replace( tag, text, callback )

Questo metodo è utile quando devi catturare i codici brevi da una stringa per elaborarli altrove e mantenere un riferimento ad essi.

wp.shortcode.next( tag, text, index )

Questo metodo genera un RegExp per identificare uno shortcode. La regex di base è funzionalmente equivalente a quella trovata in get_shortcode_regex().

wp.shortcode.regexp( tag )

Questo metodo consente di analizzare gli attributi shortcode dal testo.

wp.shortcode.attrs( text )

C'è una vista in più, vedi il nucleo per quello.