Come utilizzare "Aggiungi collegamento" pop-up per un widget WordPress


12

Nell'editor WYSIWYG di WordPress viene visualizzato pop-up se si desidera aggiungere un collegamento per un testo. Esiste la possibilità di accedere a questa funzionalità? Perché voglio usare questo pop-up per un widget WordPress che ho creato in modo da poter aggiungere collegamenti a un widget se lo configuri nel back-end.

Ecco uno screenshot di cosa intendo: inserisci qui la descrizione dell'immagine

Risposte:


8

Ho provato per un po 'e non sono riuscito a farlo funzionare perfettamente, ma è vicino, è difficile estenderlo con gli <form>stili pop-up codificati, pensato possibile con più lavoro.

Per iniziare puoi:

Accoda il collegamento popup javascript e gli stili, il file .js principale è wp-includes/wplink.js. A seconda di dove lo carichi, potresti dover aggiungere più o meno script / stili poiché si basa su diversi ( thickbox, jQuery-ui, ui-dialog, ecc .).

wp_enqueue_script('wplink');
wp_enqueue_script('wpdialogs-popup'); //also might need this

// need these styles
wp_enqueue_style('wp-jquery-ui-dialog');
wp_enqueue_style('thickbox');

Imposta la variabile traducibile:

var wpLinkL10n = {"title":"Insert\/edit link","update":"Update","save":"Add Link","noTitle":"(no title)","noMatchesFound":"No matches found."};

Ora dovresti essere in grado di estendere la wpLinkfunzione usando qualcosa come:

// test button
<button class="link-btn">Click button for Links</button>

jQuery('.link-btn').on('click', function(event) {
  wpActiveEditor = true;
  wpLink.title = "Hello"; //Custom title example
  wpLink.open();    // Open the link popup
  return false;
});

Hai bisogno di un <form>elemento per il pop-up che, per definizione, è molto lungo da incollare qui, puoi vedere quello predefinito qui: https://gist.github.com/wycks/6402573

Ora ci sono grossi problemi con questo, vale a dire che non ho aggiunto javascript di chiusura o invio (o controllo) alla funzione, come wpLink.closeo wpLink.textarea, quindi vedi wplink.jsper ulteriori informazioni.

Mi dispiace che questo richieda troppo tempo per giocherellare, a meno che non mi manchi qualcosa di base, ma questo dovrebbe farti arrivare la maggior parte del tempo.


Grazie mille per il tuo aiuto. Ho risolto i riferimenti di stile / script usando: <? wp_editor ('', ''); ?> - Quindi forse posso ottenere una soluzione più breve! Ma c'è ancora la domanda su come ricevere il collegamento selezionato.
Benny Neugebauer,

Grazie per aver pubblicato questo; mi ha portato a trovare la risposta di cui avevo bisogno. Nel mio caso ho dovuto solo accodare esplicitamente lo script "wpdialogs", che non funzionava quando specificato come dipendenza. wp_enqueue_script('wpdialogs');
Inigoesdr,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.