一直以来都是使用多说评论系统,感觉真的非常好用,但是多说在边栏显示的最新评论的效果却不能让我满意。一是在看快照的时候,侧边栏最新评论是空 白;二是查看网页源代码,侧边栏最新评论也是空白;三是侧边栏最新评论加载太慢,往往都是其他所有内容都显示完了还没有显示出来。
而WordPress自带的最新评论小工具,显示的效果也不能让我满意,而且修改起来挺麻烦的,据说要修改wp-includes/ default-widgets.php文件。所以就想通过简单的SQL语句加一些代码实现最新评论功能。
最新评论:只打算显示最新的几条评论内容,而且鼠标放在该评论上就会显示评论者昵称、评论时间和所评论的文章标题。不想显示评论者的头像是因为这些头像大部分都是Gravatar头像,会严重拖慢加载速度,而且相对比较复杂一些,为了偷懒就不要头像了。
具体效果:
实现步骤:
1、打开主题文件夹的functions.php添加如下代码:
- //侧边栏最新评论
- function zuixinpinglun($pls) {
- global $wpdb;
- $query3="SELECT comment_author,comment_date,comment_content,comment_ID,comment_post_ID FROM `$wpdb->comments` where comment_author_email <> '博主自己的邮箱' and comment_approved =1 order by comment_date desc limit 0,$pls";
- $zxpl = $wpdb->get_results($query3);
- foreach ($zxpl as $zxpls){
- $tmp3 = '<li><a title="'.sprintf($zxpls->comment_author .' 于 '.$zxpls->comment_date.' 在文章《'. get_the_title($zxpls->comment_post_ID).'》发表的评论').'" href="' . esc_url( get_comment_link($zxpls->comment_ID) ) . '">' . $zxpls->comment_content . '</a></li>';
- $output3 .= $tmp3;
- }
- echo $output3;
- }
PS:comment_author_email <> '博主自己的邮箱'是排除显示博主自己的评论;comment_approved =1是显示审核通过的评论。
2、打开主题文件夹的sidebar.php,在想要显示最新评论的地方添加如下代码(一般都是放在友情链接的上面):
- <div id="zxpl" class="widget" >
- <h3><?php _e('最新评论','mengxlr'); ?></h3>
- <ul>
- <?php zuixinpinglun(10); ?>
- </ul>
- </div>
PS:数字10是最新评论显示的数目,可修改。
3、根据自己主题的整体样式,大概调整一下style.css文件即可,具体效果请看右侧侧边栏最新评论。
PS:因为技术问题,只能做到这一步,具体更强大的功能就靠大家完善了,因为到这里就已经满足我的需求了。还有一点美中不足的地方就是不好显示表情,一有表情就会撑开,样式变得不好看了。到目前为止,还不懂如何解决呢,除非不要评论前面的那个new图标。
发表于2014-12-08 21:40 沙发
哈哈,截图前两条都是我的评论
@何老师这样没有名字的也看得出来啊?厉害啊
发表于2014-12-09 15:32 板凳
给力
发表于2015-04-11 20:23 地板
晚上好啊我的网站 http://www.02942.cn