为评论模板添加插入图片按钮

2011年02月18日09:54:45 61 暂未收录 12,666

有时在发表评论或留言时,需要贴上一张图片作为补充,如果有一个快捷的插入图片按钮是不是会很方便。虽然可以通过安装编辑器插件,实现这一功能,但会影响页面加载速度。下面利用willin提供的代码,把这一功能加到你的热点新闻2.4版主题中。

复制的代码有行号,可按此方法去掉:小技巧:帮你批量删除代码前的行号

编辑修改主题请使用专门的文体编辑软件如:Notepad++,切记不能用系统自带的记事本编辑主题模版。

首先打开functions.php在:

  1. //全部设置结束
  2. ?>

上面添加字符转换函数:(注:如果这句后面还有内容,请删除,那是你在试用其它主题时自动写入的无用代码)

  1. //评论贴图
  2. function embed_images($content) {
  3. $content = preg_replace('/\
  4. return$content;
  5. }
  6. add_filter('comment_text', 'embed_images');

再打开评论模板:comments.php找到:

  1. <!--<p><small><strong>XHTML:</strong> You can use these tags: <code><?php echo allowed_tags(); ?></code></small></p>-->

在其中上面添加按钮:

  1. <a style="float:right;background: url(./wp-content/themes/HotNewspro24/images/login.png)  no-repeat 0 -75px;padding:0 4px 0 20px" href='javascript:embedImage();' >插入图片</a>

如果你的程序安装在二级目录,请将上面小图片地址改成:/wp-content/themes/HotNewspro24/images/login.png 去掉前面的小点。

最后打开custom.js在最后,添加输入图片链接弹窗JS:

  1. // 评论贴图
  2. function embedImage() {
  3. var URL = prompt('请输入图片 URL 地址:', 'http://');
  4. if (URL) {
  5. document.getElementById('comment').value = document.getElementById('comment').value + '[img]' + URL + '
';
  • }
  • }
  • 使用上述方法,在评论中加入图片后,当你更换主题后,图片将消失,只会显示html代码。

    另外,如果图片尺寸较大,在IE下会造成模板变形,可以在主题样式文件中加入以下代码限制图片大小:

    1. /** 评论贴图 **/
    2. .commentlist p img{
    3. max-width:620px;
    4. }
    5. .commentlist p img{
    6. width:expression(document.body.clientWidth> 620? "620px": "auto" );
    7. }

    不过使用上述代码,在IE下会使尺寸小的图片也放大,是否使用自己看着办吧。