!
也想出现在这里? 联系我们
广告位

给WordPress评论框加个上传图片功能

WordPress 开启评论功能是为了更好的交互,但默认只能显示文字,如果加上一个上传图片功能,能评论时加上图片,看起来交互更好。具体效果见下图:

要实现这个功能可以用以下方法,具体可以参见:

1、先在 wordpress 评论模板 comments.php 加上一个上传代码,css 请自行美化:

  1. <div class="upload_img">
  2. <span>
  3. <input id="upload_img_api" type="file" accept="image/*">
  4. <label class="custom-file-label upbtn" id="upload_img_label" for="upload_img_api" ><i class="fa fa-picture-o"></i>传图</label>
  5. </span>
  6. </div>

2、在 wordpress functions.php 如如下函数,处理评论图片的短代码,第二行代码里 a 链接可以自己处理,我是加了 fancybox 插件点击放大图片:

  1. function boxmoe_comment_upload_img($content) {
  2. $content = preg_replace('/\[img=?\]*(.*?)(\[\/img)?\]/i', '<a href="$1" rel="external nofollow" data-fancybox="images" data-fancybox-group="button"><img src="$1" alt="评论" /></a>', $content);
  3. return $content;
  4. }
  5. add_filter('comment_text', 'boxmoe_comment_upload_img');

3、加入 js 代码 json post 上传图片,下面代码可以放在主题的模块页面:

  1. jQuery('#upload_img_api').change(function() {
  2. window.wpActiveEditor = null;
  3. for (var i = 0; i < this.files.length; i++) {
  4. var f=this.files[i];
  5. if (!/image\/\w+/.test(f.type)) {
  6. alert('请选择图片文件(png | jpg | gif)');
  7. return
  8. }
  9. var formData=new FormData();
  10. formData.append('pic',f); // pic 属于formData对象,这个根据图床的api不同可能需要更换
  11. jQuery.ajax({
  12. async:true,
  13. crossDomain:true,
  14. url:'https://img.jploc.jsmoe.com/up.php', //图床接口,这是我自己的图床,需要更换成你的图床接口
  15. type : 'POST',
  16. processData : false,
  17. contentType : false,
  18. dataType: 'json',
  19. crossDomain: true,
  20. data:formData,
  21. beforeSend: function (xhr) {
  22. jQuery('#upload_img_label').HTML('<i class="fa fa-spinner rotating"></i> Uploading...');
  23. },
  24. success:function(res){
  25. $('textarea[name="comment"]').val($('textarea[name="comment"]').val()+'[img]'+res.data.url+'[/img]').focus();
  26. jQuery("#upload_img_label").html('<i class="fa fa-check"></i> 上传成功,继续上传');
  27. },
  28. error: function (){
  29. jQuery("#upload_img_label").html('<i class="fa fa-times"></i> 上传失败,重新上传');
  30. }
  31. });
  32. }
  33. });

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress 主题如何给评论添加自定义字段

2022-11-18 17:39:15

WordPress教程

WordPress 调用指定时间内评论数最多的文章

2022-11-18 18:38:35

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索