मेरी विशेष रूप से कैसे plUpload jQuery वस्तु से एक प्रतिक्रिया एकत्र करने के लिए एक बार यह मीडिया है कि आप चाहते हैं और कैसे एक गैलरी बनाने के लिए एक मेटा बॉक्स में एक ही कार्यक्षमता का उपयोग करेगा अपलोड किया है?
एक विशिष्ट फ़ाइल है जो इस कार्यक्षमता को संभालती है /wp-includes/js/plupload/handlers.dev.js
:। इस फ़ाइल में सभी हुक और ट्रिगर्स होते हैं जो अपलोडर को Plupload (थर्ड-पार्टी ड्रैग / ड्रॉप मल्टी-फाइल सिस्टम) टाई करते हैं।
ऐसी दो घटनाएं हैं जिन्हें आप देखना चाहते हैं: "FileUploaded" और "Upload Complete"
FileUploaded
याद रखें, नया अपलोडर एक साथ कई फाइलें अपलोड करने में सक्षम है। इसलिए यदि कतार में प्रत्येक फ़ाइल के अपलोड होने के बाद आप कुछ करना चाहते हैं, तो आप इस ईवेंट में बाइंड करने के लिए jQuery का उपयोग करेंगे।
उदाहरण के लिए, वर्डप्रेस निम्नलिखित को बांधता है:
uploader.bind('FileUploaded', function(up, file, response) {
uploadSuccess(file, response.response);
});'
यहां uploadSuccess
फ़ंक्शन छवि थंबनेल को संभालता है, सर्वर से अटैचमेंट मेटा प्राप्त करता है, और बटन को राइट ऑब्जेक्ट पर संपादित / हटाता है।
अपलोड पूरा हुआ
UploadComplete घटना कतार में सब कुछ समाप्त हो जाने के बाद आग लग जाएगी । यदि आप संपूर्ण डाउनलोड समाप्त होने के बाद एक सामान्य सफाई ऑपरेशन को फायर करना चाहते हैं, तो यह वह है जिसे आप बांधना चाहते हैं।
उदाहरण के लिए, वर्डप्रेस निम्नलिखित को बांधता है:
uploader.bind('UploadComplete', function(up, files) {
uploadComplete();
});
यहां uploadComplete
फ़ंक्शन केवल पेज पर "गैलरी सम्मिलित करें" बटन को सक्षम करता है।
दुर्भाग्य से ...
... हमें इन घटनाओं के लिए बाध्य करने का कोई तरीका प्रतीत नहीं होता है। uploader
वस्तु में एक बंद करने के भीतर मौजूद है handlers.js
फ़ाइल, और plupload ही मौजूदा उदाहरणों को संदर्भित करने के लिए एक रास्ता नहीं है। आप इसे हटाने और एक कस्टम ईवेंट जोड़ने के लिए एक साधारण jQuery चयनकर्ता का उपयोग नहीं कर सकते ... इसलिए हम वहां भाग्य से बाहर हैं।
एक ओर, आप अपने स्वयं के सिस्टम में इन कस्टम घटनाओं का उपयोग कर सकते हैं। बस handlers.js
अपनी खुद की घटनाओं के साथ फ़ाइल के अपने संस्करण को स्पिन करें और आप जो चाहें कर सकते हैं। लेकिन मौजूदा अपलोडर के लिए, आप मौजूदा एपीआई के साथ फंस गए हैं।
ध्यान रखें, कि नया प्लूप लोडर उसी तरीके से कॉल करता है जैसे पुराने फ्लैश अपलोडर ने किया था। इसलिए मेरा सबसे अच्छा अनुमान है कि आपके पास मौजूद कोई भी हैक या एकीकरण काम करना जारी रखना चाहिए।
परीक्षण कि धारणा
मेरे पास एक प्लगइन है जो फ़ाइल अपलोड को अपलोड करने के लिए मौजूदा अपलोडर का उपयोग करता है और कस्टम मेटा फ़ील्ड में URL प्रदर्शित करता है। यह पुराने अपलोडर के साथ जादू की तरह काम करता है, इसलिए मैंने WP 3.3 में इसे देखने के लिए निकाल दिया ताकि यह नए अपलोडर के साथ भी काम कर सके ।
और यह करता है!
तो अगर आप पहले से ही मीडिया अपलोड करने वाले के साथ एकीकृत कर रहे हैं, आपके सिस्टम होना चाहिए अभी भी बिना किसी परिवर्तन के नए सिस्टम के साथ काम करते हैं।