如何在 Wordpress 评论贴图

  在 Wordpress 评论的内容中,如果用 〈img src="图片地址" /〉 的语法,将被 Wordpress 自带的过滤器删除,所以评论后看不到贴图。你可以利用类似 Quotmarks Replacer 阻止全角转换的方法阻止过滤器的运作,但对访客来说,输入语法是件不方便的事,万一输错了,还是要被过滤掉。所以最好是让访客直接输入"图片位址"就好。

  实现让 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]';
}} 

  将上面的 js 添加到别的 js 的最后面,已经会载入,就别管了。

  若你没用到别的 js,另存为 embed_images.js,在 header.php 的 /head 之前还要加上:

<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/embed_images.js"></script>

  〈3〉然后修改 comments.php 在合适位置添加链接:

<a href='#' onclick='comment_image(); return false;'>贴图</a>

  这只会出现文字链接,想改成按钮就要自己改 style.css 了。

  该方法是Willin大师的原创,原文请参见:http://willin.atbhost.net/?p=1265,欲看效果也请移步置Willin Kan 的博客,本人纯属游手好闲,将此文章化繁为简而已,使用该方法时若遇疑难杂症,敬请联系作者本人。

本文已盖 18 层楼

  1. 回复 流年 说:

    纯文字就好了

  2. 回复 蛋卷 说:

    一般用不上吧

  3. 回复 烟台SEO 说:

    呵呵,路过,学习了,正需要这个东西呢

  4. 又学习了,谢谢~~~

  5. 回复 ken 说:

    :evil: 若你没用到别的 js,另存为 embed_images.js 你写的狗屎文章,另存为embed_images.js ,然后呢,另存的文件放在哪里啊?我靠

  6. 回复 随影 说:

    呵呵 方法不错 可惜 对我而言,不大可能在留言框中贴图的,那好麻烦!!

  7. 呵呵,看起来挺不错啊。

  8. 回复 leecay 说:

    很不错的教程,学习了~

  9. 回复 小明猪 说:

    呵呵,两天没过来了,好东西~之前我也想过这个,不过就当心对访问速度跟其他问题…后来不了了之了

  10. 回复 Jutoy 说:

    这个的话就方便了SPAM们了……

  11. 回复 Leo.N 说:

    稳坐沙发学习中。。。

Leave a comment

您已输入0

三言两语

我的生活心情语录

工作手札

路漫漫其修远兮

精品推荐

好东西要分享

嘻哈娱乐

八卦趣事一笑而过

电脑网络

全新技术尽搜罗

转来载去

文人墨客美文赏析