不用插件实现月光博客首页那样的评论显示

2010年6月22日 发表评论 阅读评论

很多新手WP博主问我是怎么改成山寨月光主题。因为涉及东西其实不多,改起来也很容易,但为了让更多新手朋友能够学的轻松,闪电博客也能骗些点击量,我将会分成多篇文章慢慢讲。今天就来讲月光主题首页的最新评论怎么改成只显示留言内容概要的。

默认的最新评论小工具早就过时了,也不好看,修改起来比较简单,并不想因此而装个插件,所以我就直接手动该代码了。

找到wp-includes目录下的default-widgets.php文件下的class WP_Widget_Recent_Comments extends WP_Widget类,在类之前加入一个函数:

function my_utf8_trim($str)
{
$len = strlen($str);
for ($i=strlen($str)-1; $i>=0; $i-=1)
{
$hex .= ' '.ord($str[$i]);
$ch = ord($str[$i]);
if (($ch & 128)==0) return(substr($str,0,$i));
if (($ch & 192)==192) return(substr($str,0,$i));
}
return($str.$hex);
}

再把类中的<?php echo $before_widget; ?>和<?php echo $after_widget; ?>之间的代码替换成这样就可以了:

<?php echo $before_widget; ?>
<?php if ( $title ) echo $before_title . $title . $after_title; ?>
<ul id="recentcomments"><?php
if ( $comments ) : foreach ( (array) $comments as $comment) :
$comment_content = strip_tags($comment->comment_content);
$comment_content = stripslashes($comment_content);
$comment_excerpt =substr($comment_content,0,38);
$comment_excerpt = my_utf8_trim($comment_excerpt);
echo  '<li class="recentcomments">' . sprintf(__('%1$s'),
'<a href="'. get_permalink($comment->comment_post_ID).
'#comment-'. $comment->comment_ID.'">'.$comment_excerpt .'...'. '</a>') .
'</li>';
endforeach; 
endif;?></ul>
<?php echo $after_widget; ?>

注意改完后下次wordpress升级时可能被覆盖,要小心,不过wordpress即时有了新版本,完全不必要急着升级。没特殊原因的话,像我这样的高手(哈~)一般是一年以后才考虑升级的,插件也如此。


转载请注明来自:[闪电博客]http://shandian.biz/19.html

分类: Wordpress 标签:
  1. 睿智小超人
    2010年6月22日19:29 | #1

    我差点误认为这个是月光博客呢。

  2. 袜子批发
    2010年11月7日09:19 | #2

    并不想因此而装个插件

  3. 番茄
    2011年4月10日14:01 | #3

    搞的像月光博客了。

  4. 王者
    2011年9月9日13:10 | #4

    小泽玛莉亚

  5. ┊嘵臉嗵紅
    2011年12月17日12:39 | #5

    按照上述做,博客右侧的评论没变耶

  6. 闪电博客
    2011年12月19日23:23 | #6

    @┊嘵臉嗵紅
    是不是版本问题?我的就成功实现了。。