TB_SHOW不显示媒体上载窗口。自定义插件

时间:2015-06-01 作者:dea

我不明白为什么媒体上传器没有显示出来。我正在尝试创建一个媒体上载窗口,以便用户可以上载文件。问题是,当我点击上传按钮时,什么都没有发生,窗口没有显示,我不知道为什么。我想这与我想添加上传程序的子菜单是一个自定义的post类型有关。媒体上传的js代码:

    $(\'#csv_file_button\').click(function() {
    formfield = $(\'#csv_file\').attr(\'name\');
    tb_show(\'\', \'media-upload.php?type=file&TB_iframe=true\');
    return false;
});

window.send_to_editor = function(html) {  // Send WP media uploader response
    url = $(html).attr(\'href\');
    $(\'#csv_file\').val(url);
    tb_remove(); 
}
有什么想法吗?

3 个回复
SO网友:dea

我找不到代码有什么问题,所以我使用了在互联网上找到的另一个代码,现在窗口打开了。

var file_frame;
$(\'#csv_file_button\').on(\'click\', function(event){
    event.preventDefault();
    if ( file_frame ) {
        file_frame.open();
  return;
}
// Create the media frame.
file_frame = wp.media.frames.file_frame = wp.media({
  title: $( this ).data( \'File upload\' ),
  button: {
    text: $( this ).data( \'Upload\' ),
  },
  multiple: false  // Set to true to allow multiple files to be selected
});
// When an image is selected, run a callback.
file_frame.on( \'select\', function() {
  // We set multiple to false so only get one image from the uploader
  attachment = file_frame.state().get(\'selection\').first().toJSON();
    $(\'#csv_file\').attr(\'value\',attachment.url);
});

// Finally, open the modal
file_frame.open();
});

SO网友:AddWeb Solution Pvt Ltd

无法确定问题所在。因此,我们需要跟踪您的代码,为此,您需要用第一个JS代码替换以下JS代码:

$(\'#csv_file_button\').click(function() {
    alert(\'Button clicked\');
        formfield = $(\'#csv_file\').attr(\'name\');
        alert(\'formfield name is >> \' + formfield);
    tb_show(\'\', \'media-upload.php?type=file&TB_iframe=true\');
        alert(\'Finally thick box randered..! No issue here\');
    return false;
}); 
更换此代码后,请告诉我您面临的问题,然后单击上载按钮。。!

如果你仍然面临同样的问题,请随时与我联系。

谢谢

SO网友:Aishan

首先,您需要将thickbox包含到主题中,以使用tb\\U show popup

function include_thickbox_scripts()    
{
    // include the javascript    
    wp_enqueue_script(\'thickbox\', null, array(\'jquery\'));

    // include the thickbox styles    
    wp_enqueue_style(\'thickbox.css\', \'/\'.WPINC.\'/js/thickbox/thickbox.css\', null, \'1.0\');

}

add_action(\'wp_enqueue_scripts\', \'include_thickbox_scripts\');

结束

相关推荐

My deleted media exists jet

我的wordpress主题有问题。我删除了一些媒体文件(一些img),它出现在我的媒体部分(在我的wp管理中),没有缩略图,但就像文件存在一样。我在数据库中查找并删除了wp\\U Posteta中的所有数据,但不起作用。上载文件夹、数据库中不存在我的文件。。。但出现在我的媒体分区中,无法删除。有什么问题??我看到当尝试放置帖子缩略图时出现此错误(在wp管理区域):undefined is not a function in ajax.js:259 这很奇怪…:s