Wiem, że plupload będzie nowym silnikiem przesyłania do WordPress 3.3, ale zastanawiałem się, czy jest jeszcze jakaś dokumentacja na temat jego integracji z WordPress.
W szczególności, jak zebrać odpowiedź z obiektu jQuery plUpload po przesłaniu żądanego nośnika i jak użyć tej samej funkcjonalności w meta boxie, aby utworzyć galerię?
Czy ktoś już się z tym bawił?
Odpowiedzi:
Istnieje konkretny plik, który obsługuje tę funkcję:
/wp-includes/js/plupload/handlers.dev.js
. Ten plik zawiera wszystkie zaczepki i wyzwalacze, które wiążą Plupload (system wielu plików do przeciągania / upuszczania) z przesyłającym.Istnieją dwa zdarzenia, na które warto spojrzeć: „FileUploaded” i „Upload Complete”
Plik przesłany
Pamiętaj, że nowy przesyłający może przesyłać wiele plików jednocześnie. Więc jeśli chcesz coś zrobić po przesłaniu każdego pliku w kolejce, użyjesz jQuery do powiązania z tym zdarzeniem.
Na przykład WordPress wiąże następujące elementy:
Ta
uploadSuccess
funkcja obsługuje miniatury obrazów, pobiera meta załącznika z serwera i wiąże przyciski edycji / usuwania z odpowiednim obiektem.Wgrywanie zakończone
Zdarzenie UploadComplete zostanie uruchomione po zakończeniu przesyłania wszystkiego w kolejce. Jeśli chcesz uruchomić ogólną operację czyszczenia po zakończeniu pobierania, z tym chcesz się połączyć.
Na przykład WordPress wiąże następujące elementy:
Ta
uploadComplete
funkcja po prostu włącza przycisk „Wstaw galerię” na stronie.Niestety ...
... wydaje się, że nie ma sposobu, aby związać się z tymi wydarzeniami.
uploader
Obiekt istnieje w zamknięciu whandlers.js
pliku, a sam Plupload nie ma sposobu, aby odwołać istniejących instancji. Nie możesz użyć prostego selektora jQuery do wykrycia go i dodania niestandardowego zdarzenia ... więc nie mamy szczęścia.Z jednej strony możesz dowolnie wykorzystywać te niestandardowe zdarzenia we własnych systemach. Po prostu uruchom własną wersję
handlers.js
pliku z własnymi wydarzeniami i możesz robić, co chcesz. Ale w przypadku istniejącego programu przesyłającego utkniesz z istniejącym interfejsem API.Pamiętaj, że nowy Pluploader wywołuje te same metody w tym samym czasie, co stary uploader Flash. Więc przypuszczam, że wszelkie istniejące modyfikacje lub integracje, które posiadasz, powinny nadal działać.
Testowanie tego założenia
Mam wtyczkę, która korzysta z istniejącego programu do przesyłania plików, aby przesyłać załączniki i wyświetlać adres URL w niestandardowym polu meta. Działa jak magia ze starym programem do przesyłania, więc uruchomiłem go w WP 3.3, aby sprawdzić, czy działa również z nowym programem do przesyłania.
I robi to!
Jeśli więc już integrujesz się z programem do przesyłania multimediów, Twój system powinien nadal działać z nowym systemem bez żadnych zmian.
źródło
(to tylko praktyczny przykład oparty na odpowiedzi EAManna)
Istnieje więcej zdarzeń plupload, których możesz użyć, sprawdź dokumentację ....
źródło
upload-attachment
która wyzwoli natywnywp_ajax_upload_attachment()
moduł obsługi, a przy niektórych poprawkach nie trzeba całkowicie niestandardowego modułu obsługi przesyłania, tylko część formularza i skryptu.Oto rozszerzenie odpowiedzi @One Trick Pony. To, oprócz przesłania pliku do właściwego, zapisze również ten plik jako załącznik:
źródło