给wordpress的评论加上图片上传按钮并用图床api上传
其实也没必要,我是比较折腾的人,爱折腾

1.首先需要给wordpress评论模板comments.php加上一个上传代码,css自己美化

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

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

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

3.加入js代码json post上传图片

jQuery('#upload_img_api').change(function() {
  window.wpActiveEditor = null;
  for (var i = 0; i < this.files.length; i++) {
    var f=this.files[i];
	if (!/image\/\w+/.test(f.type)) {
            alert('请选择图片文件(png | jpg | gif)');
            return
        }
    var formData=new FormData();
    formData.append('pic',f);  // pic 属于formData对象,这个根据图床的api不同可能需要更换
    jQuery.ajax({
        async:true,
        crossDomain:true,
        url:'https://img.jploc.jsmoe.com/up.php',   //图床接口,这是我自己的图床,需要更换成你的图床接口
        type : 'POST',
        processData : false,
        contentType : false,
		dataType: 'json',
		crossDomain: true,
        data:formData,
        beforeSend: function (xhr) {
            jQuery('#upload_img_label').html('<i class="fa fa-spinner rotating"></i> Uploading...');
        },
        success:function(res){
			$('textarea[name="comment"]').val($('textarea[name="comment"]').val()+'[img]'+res.data.url+'[/img]').focus();
            jQuery("#upload_img_label").html('<i class="fa fa-check"></i> 上传成功,继续上传');
        },
        error: function (){
            jQuery("#upload_img_label").html('<i class="fa fa-times"></i> 上传失败,重新上传');
        }
    });
  }
});	

到处就结束了,这里需要你自己去美化CSS,和自己安排上wordpress评论传按钮的位置