如何在wordpress任何一个页面调用“插入图片”按钮,实现上传图片功能

最近在开发uedsc新主题的时候,需要普通用户能上传自己的作品到网站,大家都知道,wordpress的会员是分了角色的,只有作者级别的用户才能够上传附件,那么如何在wordpress任何一个页面调用“插入图片”按钮,实现上传图片功能。

wordpress已经想到了我们会用这样的一个功能,所以他自己集成了一些函数,帮助我们去完成这样的效果。

<?php 
    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" style="width:auto;height:20px;" value="上传图片" />

样式大家可以自行定义,这里只是演示一下这个功能。

最后编写js代码

<script>
jQuery(document).ready(function() {
    jQuery('#upload_image_button').click(function() {
     formfield = jQuery('#upload_image').attr('name');
     // show WordPress' uploader modal box
     tb_show('', '<?php echo admin_url(); ?>media-upload.php?type=image&amp;TB_iframe=true');
     return false;
    });
    window.send_to_editor = function(html) {
     // this will execute automatically when a image uploaded and then clicked to 'insert to post' button
     imgurl = jQuery('img',html).attr('src');
     // put uploaded image's url to #upload_image
     jQuery('#upload_image').val(imgurl);
     tb_remove();
    }
});
</script>

如果您的主题没有引入jquery库,可能会报错:jquery不是一个对象,那么引入jquery库即可解决。

好了代码编写完毕。不过这个方法还是慎用,毕竟要允许上传就会有一定的风险,各位倒腾倒腾吧!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值