Il mio in particolare come raccogliere una risposta dall'oggetto plUpload jQuery una volta che ha caricato il supporto desiderato e come si utilizza la stessa funzionalità in una meta-box per creare una galleria?
C'è un file specifico che gestisce questa funzionalità: /wp-includes/js/plupload/handlers.dev.js
. Questo file contiene tutti gli hook e i trigger che collegano Plupload (il sistema multi-file di trascinamento / rilascio di terze parti) all'autore del caricamento.
Potresti voler esaminare due eventi: "FileUploaded" e "Upload Complete"
FileUploaded
Ricorda, il nuovo uploader è in grado di caricare più file contemporaneamente. Quindi, se c'è qualcosa che vuoi fare dopo che ogni file nella coda è stato caricato, userai jQuery per associare questo evento.
WordPress, ad esempio, lega quanto segue:
uploader.bind('FileUploaded', function(up, file, response) {
uploadSuccess(file, response.response);
});'
La uploadSuccess
funzione qui gestisce le miniature delle immagini, recupera i meta allegati dal server e associa i pulsanti di modifica / eliminazione all'oggetto giusto.
Caricamento completato
L'evento sarà UploadComplete fuoco dopo tutto nella coda è uploading finito. Se si desidera eseguire un'operazione di pulizia generale al termine dell'intero download, questo è ciò che si desidera associare.
WordPress, ad esempio, lega quanto segue:
uploader.bind('UploadComplete', function(up, files) {
uploadComplete();
});
La uploadComplete
funzione qui abilita semplicemente il pulsante "Inserisci galleria" sulla pagina.
Sfortunatamente ...
... non sembra esserci un modo per legarci a questi eventi. L' uploader
oggetto esiste all'interno di una chiusura nel handlers.js
file e Plupload stesso non ha un modo per fare riferimento a istanze esistenti. Non puoi usare un semplice selettore jQuery per annusarlo e aggiungere un evento personalizzato ... quindi siamo sfortunati lì.
Da un lato, è possibile utilizzare questi eventi personalizzati a piacimento nei propri sistemi. Basta girare la tua versione del handlers.js
file con i tuoi eventi e puoi fare quello che vuoi. Ma per l'uploader esistente, sei bloccato con l'API esistente.
Tieni presente che il nuovo Pluploader chiama gli stessi metodi contemporaneamente al vecchio uploader Flash. Quindi la mia ipotesi migliore è che eventuali hack o integrazioni esistenti che hai dovrebbero continuare a funzionare.
Testare tale presupposto
Ho un plug-in che utilizza l'uploader esistente per caricare file allegati e visualizzare l'URL in un meta campo personalizzato. Funzionava come per magia con il vecchio uploader, quindi l'ho acceso in WP 3.3 per vedere se funzionava anche con il nuovo uploader.
E lo fa!
Quindi, se ti stai già integrando con l'uploader multimediale, il tuo sistema dovrebbe comunque funzionare con il nuovo sistema senza alcuna modifica.