वर्डप्रेस 3.5 हाल ही में जारी किया गया है, मैंने अपने वर्डप्रेस थीम (पृष्ठभूमि, लोगो इत्यादि) में कुछ विकल्पों के लिए मैडबॉक्स और window.send_to_editor
के माध्यम से वर्डप्रेस मीडिया अपलोड सिस्टम का उपयोग किया था।वर्डप्रेस 3.5 कस्टम मीडिया आपके थीम विकल्पों के लिए अपलोड करें
लेकिन जैसा कि आप जानते हैं कि वर्डप्रेस ने एक नया मीडिया प्रबंधक एकीकृत किया है, मैं कस्टम फ़ील्ड के रूप में छवियों/फ़ाइलों को अपलोड करने के लिए इस नई सुविधा का उपयोग करना चाहता था। इसलिए मैंने सुबह को बिताए परिणाम प्राप्त करने के लिए एक रास्ता खोजने के लिए बिताया।
मुझे इस समाधान के साथ मिला, जो आप में से कुछ के लिए उपयोगी हो सकता है। मुझे कोड या आपके मन में होने वाले किसी भी सुधार पर आपकी प्रतिक्रिया देने के लिए धन्यवाद!
एचटीएमएल नमूना:
<a href="#" class="custom_media_upload">Upload</a>
<img class="custom_media_image" src="" />
<input class="custom_media_url" type="text" name="attachment_url" value="">
<input class="custom_media_id" type="text" name="attachment_id" value="">
jQuery कोड:
$('.custom_media_upload').click(function() {
var send_attachment_bkp = wp.media.editor.send.attachment;
wp.media.editor.send.attachment = function(props, attachment) {
$('.custom_media_image').attr('src', attachment.url);
$('.custom_media_url').val(attachment.url);
$('.custom_media_id').val(attachment.id);
wp.media.editor.send.attachment = send_attachment_bkp;
}
wp.media.editor.open();
return false;
});
आप attachment
चर में निहित हर सेटिंग्स आप एक console.log(attachment)
या alert(attachment)
कर सकते हैं देखना चाहते हैं।
if(function_exists('wp_enqueue_media')){
wp_enqueue_media();
}else{
wp_enqueue_style('thickbox');
wp_enqueue_script('media-upload');
wp_enqueue_script('thickbox');
}
वर्डप्रेस व्यवस्थापक कोई कॉन्फ्लिक्ट का उपयोग नहीं करता है इसलिए मुझे $ -> jQuery बदलना पड़ा। बहुत उपयोगी धन्यवाद! – styks
धन्यवाद उस कुरकुरा उदाहरण के लिए एक अरब! एक पोस्ट आईडी पास करना उतना आसान है जितना wp.media.editor.open() – JosFabre
में एक param के रूप में पास करने के रूप में सरल है। मैं सोच रहा हूं कि मीडिया एपीआई को 'wp_enqueue_script()' में कुछ स्क्रिप्ट के निर्भरता के रूप में कैसे लोड किया जाए। मुझे पता है कि 'wp_enqueue_media() 'है लेकिन मैं निर्भरता का उपयोग करना पसंद करूंगा - क्या ऐसा करने का कोई तरीका है? – Atadj