Eu sei que o plupload será o novo mecanismo de upload do WordPress 3.3, mas eu queria saber se ainda existe alguma documentação sobre como ele se integra ao WordPress.
Meu especificamente como coletar uma resposta do objeto plUpload jQuery depois que ele carregou a mídia que você deseja e como alguém usaria a mesma funcionalidade em uma meta box para criar uma galeria?
Alguém já brincou com isso ainda?
Respostas:
Há um arquivo específico que lida com esta funcionalidade:
/wp-includes/js/plupload/handlers.dev.js
. Este arquivo contém todos os ganchos e gatilhos que vinculam o Plupload (o sistema de vários arquivos de arrastar / soltar de terceiros) ao remetente.Há dois eventos que você pode querer assistir: "FileUploaded" e "Upload Complete"
FileUploaded
Lembre-se de que o novo remetente é capaz de carregar vários arquivos de uma só vez. Portanto, se houver algo que você queira fazer após o upload de cada arquivo na fila, você usará o jQuery para vincular a esse evento.
O WordPress, por exemplo, vincula o seguinte:
A
uploadSuccess
função aqui lida com miniaturas de imagens, busca a meta de anexo do servidor e vincula os botões de edição / exclusão ao objeto certo.Envio completo
O evento UploadComplete será acionado após o término do upload de tudo na fila. Se você deseja acionar uma operação de limpeza geral após a conclusão do download inteiro, é nisso que você deseja se associar.
O WordPress, por exemplo, vincula o seguinte:
A
uploadComplete
função aqui apenas ativa o botão "Inserir galeria" na página.Infelizmente ...
... parece não haver uma maneira de nos vincularmos a esses eventos. O
uploader
objeto existe dentro de um fechamento nohandlers.js
arquivo e o próprio Plupload não tem como referenciar instâncias existentes. Você não pode usar um simples seletor de jQuery para farejá-lo e adicionar um evento personalizado ... por isso estamos sem sorte lá.Por um lado, você pode usar esses eventos personalizados à vontade em seus próprios sistemas. Basta girar sua própria versão do
handlers.js
arquivo com seus próprios eventos e você poderá fazer o que quiser. Mas para o remetente existente, você está preso à API existente.Lembre-se de que o novo Pluploader chama os mesmos métodos nos mesmos horários que o antigo Flash Uploader. Portanto, meu melhor palpite é que todos os hacks ou integrações existentes devem continuar funcionando.
Testando essa suposição
Eu tenho um plug-in que usa o remetente existente para fazer upload de anexos de arquivo e exibir o URL em um meta-campo personalizado. Funcionou como mágica com o uploader antigo, então eu o iniciei no WP 3.3 para ver se funcionava com o novo uploader.
E faz!
Portanto, se você já estiver se integrando ao carregador de mídia, seu sistema ainda deverá funcionar com o novo sistema sem nenhuma alteração.
fonte
(este é apenas um exemplo prático baseado na resposta da EAMann)
Existem mais eventos do plupload que você pode usar, confira a documentação ....
fonte
upload-attachment
qual acionará owp_ajax_upload_attachment()
manipulador nativo e, com alguns ajustes, não precisará totalmente do manipulador de upload personalizado, apenas as partes do formulário e do script.Aqui está uma expansão da resposta do @One Trick Pony. Além de fazer o upload do arquivo, isso também salvará o arquivo como um anexo:
fonte