一直以来都是使用多说评论系统,感觉真的非常好用,但是多说在边栏显示的最新评论的效果却不能让我满意。一是在看快照的时候,侧边栏最新评论是空白;二是查看网页源代码,侧边栏最新评论也是空白;三是侧边栏最新评论加载太慢,往往都是其他所有内容都显示完了还没有显示出来。
而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:因为技术问题,只能做到这一步,具体更强大的功能就靠大家完善了,因为到这里就已经满足我的需求了。