我有一个帖子类型,用于在wordpress上传横幅。使用名称,图像/视频和网址的自定义字段。默认媒体上传可以正常上传图片/视频,但我的问题是我无法将视频基本网址添加到自定义字段。
这是我的代码无法获取视频网址。它只给我视频文件名。
window.send_to_editor = function(html) {
var imgurlar = html.match(/<img[^>]+src=\"([^\"]+)\"/);
var imgurl = imgurlar[1];
//image
if( imgurl.length ){
jQuery('#wsp_media').val(imgurl);
jQuery('#preview-wsp-media').html('<img src="'+imgurl+'" style="max-width:30px; max-height:50px"/><input type="button" value="Remove" class="button" onclick="removeUspMedia()"/>');
}
//video
else{
var fileurl = jQuery(html);
//above "html" carries only video name if I click on "none" button in media library
//check if fileurl is a video ??
var fName = jQuery(fileurl).attr('href');
ext = fName.split('.').pop().toLowerCase();
var validVideos = [<?php echo "'" . implode("','", explode(' ', $this->validVideos)) . "'"?>];
if(jQuery.inArray(ext, validVideos) == -1){
alert('invalid video file selected');
}else{
jQuery('#wsp_media').val(fName);
jQuery('#preview-wsp-media').html('<img src="<?php bloginfo('url')?>/wp-includes/images/crystal/video.png" style="max-width:30px; max-height:50px"/><input type="button" value="Remove" class="button" onclick="removeUspMedia()"/>');
}
}
tb_remove();
}
答案 0 :(得分:2)
我自己找到了解决方案。
在&#34; media_send_to_editor&#34;
中添加过滤器add_filter('media_send_to_editor', 'media_editor', 1, 3);
在输出html中附加视频网址
function media_editor($html, $send_id, $attachment ){
//get the media's guid and append it to the html
$post = get_post($send_id);
$html .= '<media>'.$post->guid.'</media>';
return $html;
}
获取此类媒体网址
window.send_to_editor = function(html) {
.......
.......
var pathArray = html.match(/<media>(.*)<\/media>/);
var mediaUrl = pathArray != null && typeof pathArray[1] != 'undefined' ? pathArray[1] : '';
jQuery('#wsp_media').val(mediaUrl);
.......
.......
}