Wordpress媒体按钮“插入帖子”不返回文件网址

时间:2012-01-23 10:59:06

标签: php wordpress

enter image description here我创建了一个自定义字段,其中使用wordpress标准媒体库存储媒体文件网址/位置,方法是单击“插入帖子”按钮。下面是我提取媒体文件路径的代码。图片网址工作正常。但它只返回媒体头衔。我不知道从哪里可以获得文件路径。

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 个答案:

答案 0 :(得分:1)

如果用户在插入媒体(视频,pdfs等)时选择了来包含链接URL,那么传回编辑器的所有内容都是文件名,这就是您所看到的

如果您希望始终确保文件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是否包含文件引用,如果没有,请将其添加回来,然后将其发送回编辑器。