Tags:,, Posted in 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', '"\"""', $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 src=”&lt;?php bloginfo(‘template_directory’); ?” type=”text/javascript”>// <![CDATA[
/embed_images.js">
// ]]></script>

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

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

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

分享&收藏

  • del.icio.us
  • Facebook
  • TwitThis
  • 百度搜藏
  • 饭否
  • 收客
  • QQ书签
  • 我挖网
  • 新浪ViVi
  • 365Key网摘
  • De.lirio.us
  • Digg
  • email
  • Google Bookmarks
  • POCO网摘
  • 豆瓣
  • 豆瓣九点
  • MSN Reporter
  • RSS
六月 28, 2009