2012-01-23 81 views
0

enter image description here我已經創建了媒體文件的URL /位置使用Wordpress標準的媒體庫通過點擊彈出存儲自定義字段「插入後」按鈕。以下是我的代碼來提取媒體文件的路徑。圖片網址工作正常。但它只返回媒體標題。我不知道從哪裏可以獲取文件路徑。WordPress的媒體按鈕「插入後」不返回文件的URL

jQuery(document).ready(function() { 
    jQuery('#wsp_media_button').click(function() { 
    formfield = jQuery('#wsp_media').attr('name'); 
    tb_show('', 'media-upload.php?TB_iframe=true&tab=library'); 
    return false; 
    }); 

    window.send_to_editor = function(html) { 
     var imgurlar = html.match(/<img[^>]+src=\"([^\"]+)\"/); 
     var imgurl = imgurlar[1]; 

     //html is returning only title of the media 
     alert(html); 

     //image 
     if(imgurl.length){ 
      jQuery('#wsp_media').val(imgurl); 
     } 
     //other types of files 
     else{ 
      var fileurl = jQuery(html); 

     } 
    } 
}); 

回答

1

如果用戶有選擇插入媒體(視頻,PDF文檔等),然後傳遞迴到編輯器的所有是文件名,也就是你看到什麼時,包括一個鏈接網址。

如果你想始終確保,該文件URL被送回不管什麼設置的用戶選擇,或文件的URL存儲在你可以連接到兩個不同的過濾器不同的格式。

程序設置:

add_filter('media_send_to_editor', 'media_to_editor', 1, 3); 
    add_filter('image_send_to_editor', 'image_to_editor', 1, 8); 

對於圖像的過濾功能看起來像下面:

image_to_editor($html, $id, $caption, $title, $align, $url, $size, $alt){ 

} 

對於媒體附件:

function media_to_editor($html, $send_id, $attachment){   

} 

所以,你可以,內那些過濾器會更改調整發送回編輯器的數據,以確保它始終具有文件URL。對於媒體的附件,請檢查是否包含HTML文件引用,如果沒有,添加回去,併發送回編輯器。

+0

謝謝noponies – rbncha