默认情况下 HotNews主题侧边带头像的最新评论不显示登录者(博主)的留言,之所以如此,主要是考虑侧边显示最新评论,除了可以表明博客比较火爆之外,另一个功能就是方便博主查看网友留言,并及时作出回应。比如我的博客,平时我会抽时间集中回复网友提出的问题,如果显示博主的留言,估计侧边显示的全是我的回复留言了。
不过呢,有些博客开启了“用户必须注册并登录才可以发表评论 ”功能,或者博客有很多注册会员习惯登录后留言,会造成侧边无最新评论显示,那么如何只排除博主留言而显示其它注册用户及游客留言呢?只需要对默认的最新留言代码稍加改动即可实现这一功能。具体方法:
用下面代码替换HotNewspro\includes\widget目录r_comments.php模版文件中的所有代码即可:
- <h3>最新评论</h3>
- <div class="r_comments">
- <ul>
- <?php
- global $wpdb;
- $my_email = get_bloginfo ('admin_email');
- $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,comment_author_url,comment_author_email, SUBSTRING(comment_content,1,14) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' AND comment_author_email != '$my_email' ORDER BY comment_date_gmt DESC LIMIT 8";
- $comments = $wpdb->get_results($sql);
- $output = $pre_HTML;
- foreach ($comments as $comment) {$output .= "\n<li>".get_avatar( $comment, 32 )." <a href=\"" . get_permalink($comment->ID) ."#comment-" . $comment->comment_ID . "\" title=\"发表在: " .$comment->post_title . "\">" .strip_tags($comment->comment_author).":<br/>". strip_tags($comment->com_excerpt)."</a><br /></li>";}
- $output .= $post_HTML;
- echo $output;
- ?>
- </ul>
- </div>
- <div class="box-bottom">
- <i class="lb"></i>
- <i class="rb"></i>
- </div>
其中:
删除了原代码中用于判断只显示游客评论的代码:AND user_id='0'
添加博主邮箱判断代码:$my_email = get_bloginfo ('admin_email');
如果上述代码有问题,可以直接改为:$my_email ='zmingcx@gmail.com'; (将其中的邮箱地址替换为自己的)
另外顺便说一下HotNews Pro主题升级问题。可能我很早之前就说过要升级主题,由于最近工作较忙一直没有时间,所以升级版一直没出,不过升级的准备工作一直在进行,目前正在考虑是等WordPress 3.4正式版推出时再升级,还是马上。根据发布的信息,WordPress 3.4又有了较大功能调整,而且目前已是 WordPress 3.4 Beta 2版,相信很快正式版本就会推出,我还未测试过3.4版的功能,如果升级后的主题不能兼容新版程序,最后还得再次升级,感觉有点麻烦...
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!
山东省济南市 101F
鸟哥,你的HotNews Pro主题的留言模板,是不是仅显示文章类的留言和回复,而不显示页面类的留言和回复?
中国 B1
@ →☆[暗]☆← 显示,不显示登录者留言
广东省广州市 102F
怎么让侧边栏显示 最新评论 谢谢 www.wxchuguan.com