WordPress媒体上传如何将数据发送到自定义表

时间:2014-03-18 19:51:13

标签: php jquery wordpress

我正在WordPress中构建一个小插件,目前正在使用WordPress media-upload.php上传图片。 事实是,我需要获取上传图像的URL的副本,以存储在我制作的自定义sql表中。

我不知道怎么做,在这里搜索或谷歌时找不到任何东西。 如果以某种方式它可以返回上传的图像数组,使用URL或其他东西可能会很好。

希望有人可以给我一个提示。谢谢!

1 个答案:

答案 0 :(得分:1)

这比你可能意识到的要复杂得多,但这是基本的构建块:

1)您必须将正确的脚本排入队列。这可以使用wp_enqueue_media()函数在enqueue_scripts操作中完成。

2)然后,您需要编写一些javascript来处理媒体上传并将其发送回您的浏览器。这是实现此目标所需代码的精简版版本:

function mediaUpload(el) {
    // Using the count value as unique identifier
    formfield = $(el).attr('data-count');
    custom_media = true;
    var _orig_send_attachment = wp.media.editor.send.attachment;
    wp.media.editor.send.attachment = function(props, attachment) {
        if ( custom_media ) {
            console.log(attachment.url);
            // Put your code here to process the image urls...
        } else {
            return _orig_send_attachment.apply( this, [props, attachment] );
        };
        clearInterval(button_update);
    }

    wp.media.editor.open(1);

    button_update = setInterval(function() {
         $('div.media-modal a.media-button-insert').html('Use ' + word + '');} 
    ,300);
    return false;
}

3)然后你只需要在点击给定按钮时调用:

jQuery(function($) {
    $('.media_upload_button').click(
        function() {
            mediaUpload($(this));
        }
    );
});