Ryan

让访客也能在WordPress评论中贴图
在WordPress 评论的内容中,如果用〈img src="图片地址" /〉 的语法,将被WordPress 自...
扫描右侧二维码阅读全文
24
2013/07

让访客也能在WordPress评论中贴图

在WordPress 评论的内容中,如果用〈img src="图片地址" /〉 的语法,将被WordPress 自带的过滤器删除,所以评论后看不到贴图。你可以利用类似Quotmarks Replacer 阻止全角转换的方法阻止过滤器的运作,但对访客来说,输入语法是件不方便的事,万一输错了,还是要被过滤掉。所以最好是让访客直接输入"图片url"就好。
实现让WordPress 在评论上贴图有三步骤:
1.Wordpress 的评论不能用〈img〉,我们就改用[img],所以先准备个转换字元的函式:
将下段放在 functions.php 中:

/*Comment Image Embedder*/
function embed_images($content) {
    $content = preg_replace('/\[img=?\]*(.*?)(\[\/img)?\]/e', '"<img src="\"$1\"" alt="\"" "="" .="" basename("$1")="" "\"="">"', $content);
    return $content;
}
add_filter('comment_text', 'embed_images');

上面的embed_images 只是替换文字的小程式,类似替换表情符号为表情图片位址的方法。
2.另外还要准备一段js,让按钮触发时,可开个小窗口输入图片位址:

function comment_image()
{
   var URL=prompt('请输入图片的URL地址:');
   if (URL) {
      document.getElementById('comment').value=document.getElementById('comment').value+'[img]'+URL+'[/img]';
   }
}

然后修改comments.php 在合适位置添加链接:
这只会出现文字链接,想改成按钮就要自己改style.css 了。不过我也不会CSS,将就一下吧。
#Demo:本站曾经用的这个方法,但是目前的主题没有采用这个方法。
#20130809换了主题,主题自带这个功能
#iShare提醒我的,方法来自WordPress大神Willin

搬瓦工年付$187机房套餐补货了,电信联通优化,512M内存/500G流量/1G带宽,建站稳定,优惠码:BWH1ZBPVK,【点击购买】!
搬瓦工年付$28CN2高速线路,512M内存/500G流量/1G带宽,电信联通优化,延迟低,速度快,建站稳定,优惠码同上,【点击购买】!
Last modification:March 18th, 2016 at 09:35 am
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

4 comments

  1. ljz10

    挺好的,学习了。

  2. 南国羽

    好东西。我可以抱走不?

    1. Ryan
      @南国羽

      随便抱走呗,以前收藏的代码,原出处都不知道在哪了

      1. iShare
        @Ryan

        我那里好像注明了原始来源