Я знаю, что plupload станет новым механизмом загрузки для WordPress 3.3, но мне было интересно, есть ли еще документация о том, как он интегрируется с WordPress.
В частности, как собрать ответ от объекта jQuery plUpload после того, как он загрузил нужный носитель, и как можно использовать те же функции в мета-поле для создания галереи?
Кто-нибудь играл с этим, пока?
Ответы:
Там есть специальный файл , который обрабатывает эту функциональность:
/wp-includes/js/plupload/handlers.dev.js
. Этот файл содержит все хуки и триггеры, которые связывают Plupload (сторонняя мультифайловая система перетаскивания) с загрузчиком.Есть два события, которые вы можете посмотреть: «FileUploaded» и «Upload Complete»
FileUploaded
Помните, новый загрузчик способен загружать несколько файлов одновременно. Поэтому, если вы хотите что-то сделать после загрузки каждого файла в очереди, вы будете использовать jQuery для привязки к этому событию.
WordPress, например, связывает следующее:
Здесь
uploadSuccess
функция обрабатывает миниатюры изображений, извлекает мета вложения с сервера и привязывает кнопки редактирования / удаления к нужному объекту.UploadComplete
Событие UploadComplete сработает после завершения загрузки всего в очереди. Если вы хотите запустить обычную операцию очистки после завершения всей загрузки, это то, что вы хотите связать.
WordPress, например, связывает следующее:
uploadComplete
Функция здесь только позволяет кнопку «Вставить галерею» на этой странице.К несчастью ...
... кажется, у нас нет возможности связываться с этими событиями.
uploader
Объект существует в замыкании вhandlers.js
файле, а сам Plupload не есть способ ссылаться на существующие экземпляры. Вы не можете использовать простой селектор jQuery, чтобы прослушать его и добавить пользовательское событие ... так что нам не повезло.С одной стороны, вы можете использовать эти пользовательские события по своему усмотрению в ваших собственных системах. Просто раскрутите свою версию
handlers.js
файла с вашими собственными событиями, и вы сможете делать все, что захотите. Но для существующего загрузчика вы застряли с существующим API.Помните, что новый Pluploader вызывает те же методы, что и старый Flash Uploader. Поэтому я думаю, что любые существующие у вас хаки или интеграции должны продолжать работать.
Проверка этого предположения
У меня есть плагин, который использует существующий загрузчик для загрузки файловых вложений и отображения URL-адреса в пользовательском метаполе. Он работал как по волшебству со старым загрузчиком, поэтому я запустил его в WP 3.3, чтобы посмотреть, работает ли он и с новым загрузчиком.
И это делает!
Так что, если вы уже интегрируют с медиа - пользователя, система должна по- прежнему работать с новой системой без каких - либо изменений.
источник
(это просто практический пример, основанный на ответе Е.А.Манна)
Вы можете использовать больше событий plupload, ознакомьтесь с документацией ...
источник
upload-attachment
котором будет запускаться собственныйwp_ajax_upload_attachment()
обработчик, а при некоторой настройке не нужно вообще настраивать обработчик загрузки, только части формы и скрипта.Вот расширение к ответу @One Trick Pony. Это, в дополнение к загрузке файла в надлежащее, также сохранит указанный файл как вложение:
источник