我已经遵循了this excellent guide利用媒体上传器,它表明我应该能够将多个设置为true,但它仍然只允许单个文件上传或选择.
这是我的代码:
if(function_exists( 'wp_enqueue_media' )){ wp_enqueue_media(); }else{ wp_enqueue_style('thickBox'); wp_enqueue_script('media-upload'); wp_enqueue_script('thickBox'); }
Javascript / jQuery显示媒体上传器并处理所选图像:
var tgm_media_frame; $('.upload-images').click(function() { if ( tgm_media_frame ) { tgm_media_frame.open(); return; } tgm_media_frame = wp.media.frames.tgm_media_frame = wp.media({ multiple: true,library: { type: 'image' },}); tgm_media_frame.on('select',function(){ var selection = tgm_media_frame.state().get('selection'); selection.map( function( attachment ) { attachment = attachment.toJSON(); console.log(attachment); // Do something with attachment.id and/or attachment.url here }); }); tgm_media_frame.open(); });
有没有人能够获得多个文件选择工作正常?我错过了什么吗?谢谢!
解决方法
我认为媒体上传者自问题回答以来已经更新.我猜在以前版本的wordpress倍数:’add’选项是不存在的建议其他用户.我不太清楚
一切都符合你的代码.只有一小部分缺失.
selection.map( function( attachment ) { attachment = attachment.toJSON(); $("#something").after("<img src=" +attachment.url+">"); });
附件转换为JSON后,可以按照文档中的说明使用.您可以将图像网址放置在发布到服务器的某些隐藏字段中,并将用户显示所选图像.
只是一件小事我觉得奇怪的是,我们需要按ctrl点击选择图像.它应该是相当复选框或某事.
更新
ctrl单击或移动单击选择多个图像是wordpress给出的方式.仔细看看,打开
…\wp-includes\js\media-views.js
有一个定义的函数toggleSelectionHandler.它监听按键组合用户按下并相应地调用其他功能,这些功能会改变某些类并引起实际选择.
检查后,你可以看到两个课程被应用 –
>选择
>细节
细节类定义当前点击/活动选择(蓝色粗边框)的样式,并选择实际将图像标记为选定,并在选择数组中返回.
您可以从该文件本身更改该行为,也可以编写自己的函数来处理选择.第一种方法不是很好.
PS:wordpress实际上并没有使用上面的文件.它选择同一文件的压缩版本.因此,您可能需要加载未压缩的文件并播放.您可以强制wordpress通过设置使用未压缩的js文件
define('SCRIPT_DEBUG',true);
在wp-config.php.这将跳过load-scripts.PHP的行为(加载压缩将每个js文件的版本合并成单个文件).
原文地址:https://www.jb51.cc/jquery/176382.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。