原理挺简单的 :neutral: ,评论处添加js,获取用户的图片链接,然后PHP将图片链接直接显示出来。

这类网上都有代码,不过还是没有找到适合我的,所以自己综合别人的代码写出来了一个 :cool:

JS

主要的js来自奔跑的Q丶
我自己简单修改了下一些地方,大家应该都可以看懂 :smile:

var textarea = document.getElementById('comment')
var button = document.getElementById('comment_add_img')
button.addEventListener('click', () => {
var value = textarea.value.split('')
var pos = textarea.selectionStart
var img = prompt("输入图片链接","");
var insertValue = img
value.splice(pos, 0, insertValue)
textarea.value = value.join('')
textarea.selectionStart = textarea.selectionEnd = pos + insertValue.length
textarea.focus()
}, false)

PHP

这个来自Bigfa,用来替换评论图片链接

define('ALLOW_POSTS', '');
function fa_comment_image( $comment ) {
$post_ID = $comment["comment_post_ID"];
$allow_posts = ALLOW_POSTS ? explode(',', ALLOW_POSTS) : array();
if(in_array($post_ID,$allow_posts) || empty($allow_posts) ){
global $allowedtags;
$content = $comment["comment_content"];
$content = preg_replace('/(https?:\\/\\/\\S+\\.(?:jpg|png|jpeg|gif))+/','<img src="$0" alt="">',$content);
$allowedtags['img'] = array('src' => array (), 'alt' => array ());
$comment["comment_content"] = $content;
}
return $comment;
}
add_filter('preprocess_comment', 'fa_comment_image');

这边最后就是HTML代码了,随便添加到哪里都可以,不过还是在评论框附近最好 :shock:

<a id="comment_add_img">图片</a>

基本就差不多了 :neutral: ,一些地方也可以改一改。。。

Panjianhao

:D 获取中...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

私密评论