参见英文答案 >
How can I use Multi Media Uploader in the WordPress Plugins?4个答案我读了一些关于如何将媒体上传器集成在wordpress插件中的教程。我根据本教程进行媒体上传。
http://wordpress.org/support/topic/howto-integrate-the-media-library-into-a-plugin?replies=4
我这样做,它完美的工作。当我再次尝试相同的脚本多次的媒体上传器,这是小提琴,我尝试只是改变了特定的文本字段的id。
http://jsfiddle.net/UrXPe/1/
还是当我点击上传全部要完成完成。唯一的事情,如果我点击插入发布它的url的图像出现在第二个浏览字段。这是截图我正好面对的
http://wordpress.org/support/topic/howto-integrate-the-media-library-into-a-plugin?replies=4
我这样做,它完美的工作。当我再次尝试相同的脚本多次的媒体上传器,这是小提琴,我尝试只是改变了特定的文本字段的id。
http://jsfiddle.net/UrXPe/1/
还是当我点击上传全部要完成完成。唯一的事情,如果我点击插入发布它的url的图像出现在第二个浏览字段。这是截图我正好面对的
当我点击第一个上传字段(上传过程是成功的)插入后,相应的媒体网址出现在第二个字段不是第一个。我不知道这个问题在哪里有什么建议是伟大的。
解决方法
UPDATED – 向下滚动
经过过多的努力工作和研究和一些定制,我编码下面紧凑的几行代码,使用媒体上传器在wordpress的任何地方。只需将代码放在一些函数中,并将该函数调用到所需的位置。
上传/选择的文件的路径将被复制到文本框,然后可以使用它。
希望这有助于某人。
// jQuery wp_enqueue_script('jquery'); // This will enqueue the Media Uploader script wp_enqueue_media(); ?> <div> <label for="image_url">Image</label> <input type="text" name="image_url" id="image_url" class="regular-text"> <input type="button" name="upload-btn" id="upload-btn" class="button-secondary" value="Upload Image"> </div> <script type="text/javascript"> jQuery(document).ready(function($){ $('#upload-btn').click(function(e) { e.preventDefault(); var image = wp.media({ title: 'Upload Image',// mutiple: true if you want to upload multiple files at once multiple: false }).open() .on('select',function(e){ // This will return the selected image from the Media Uploader,the result is an object var uploaded_image = image.state().get('selection').first(); // We convert uploaded_image to a JSON object to make accessing it easier // Output to the console uploaded_image console.log(uploaded_image); var image_url = uploaded_image.toJSON().url; // Let's assign the url value to the input field $('#image_url').val(image_url); }); }); }); </script>
更新:只是添加。您可能需要在插件/主题文件中添加函数包装器。这是:
// UPLOAD ENGINE function load_wp_media_files() { wp_enqueue_media(); } add_action( 'admin_enqueue_scripts','load_wp_media_files' );