最近在开发主题的时候,需要普通用户能上传自己的作品到网站,大家都知道, WordPress 的会员是分了角色的,只有作者级别的用户才能够上传附件,那么如何在 WordPress 任何一个页面调用插入图片按钮,实现上传图片功能。
WordPress 已经想到了我们会用这样的一个功能,所以他自己集成了一些函数,帮助我们去完成这样的效果。
wp_enqueue_script('media-upload');
wp_enqueue_script('thickbox');
wp_enqueue_script('my-upload');
wp_enqueue_style('thickbox');
这四个函数,大家应该一看就能明白,不明白的可以去官网函数库找找,主要是引入一些上传窗口的 JS 脚本和 CSS 样式
新建一个文本框和按钮,用于触发上传图片动作和回调函数
<input id="upload_image" type="text" value="" />
<input id="upload_image_button" type="button" value="上传图片" />
样式大家可以自行定义,这里只是演示一下这个功能。
最后编写 JS 代码
jQuery(document).ready(function() {
jQuery('#upload_image_button').click(function() {
formfield = jQuery('#upload_image').attr('name');
tb_show('', '<?php echo admin_url(); ?>media-upload.php?type=image&TB_iframe=true');
return false;
});
window.send_to_editor = function(html) {
imgurl = jQuery('img',html).attr('src');
jQuery('#upload_image').val(imgurl);
tb_remove();
}
});
如果您的主题没有引入 jQuery 库,可能会报错 jQuery 不是一个对象,那么引入 jQuery 库即可解决,好了代码编写完毕。