成航先森 成航先森

成都航院计算机系一个学生的个人记录

 

WordPress技巧

最新文章

WordPress技巧
当前位置: 首页 » 建站分享 » WordPress技巧 » WordPress带Gravatar头像的最新评论代码-排除管理员评论

WordPress带Gravatar头像的最新评论代码-排除管理员评论

编辑:狂族晨曦 来源:WordPress技巧 日期:2016-06-27 阅读: 6,280 次 19 条评论 » 百度已收录

先森博客的首页本来右侧显示的是热门文章的,但是这些热门文章来自浏览量,由于用的是WordPress大学看到的record_visitors访问计数,先森又无法让其显示最近一个月内访问量最多的文章,所以“热门文章”里的文章基本就没有变动过,因此放在首页也就没有人看了。所以先森思来想去,还是将其换成了最新评论。最新评论经常变动,效果应该会好一些。

最新评论是一个常用功能,WordPress大学和知更鸟都有分享,WordPress大学提供的方法是放在侧边栏的,且是2012年分享的代码了,所以先森选择了知更鸟2014年分享的“WordPress最近评论代码”。

先森使用了鸟叔提供的代码后,等修改完CSS样式之后才发现了一个重大的问题:每条评论的链接都是一样的!

调用的评论链接相同

调用的评论链接相同

研究了半天,先森发现是代码中get_permalink的参数用错了,修改过来就正常了。而在拍错的过程中先森又发现了一种也比较好用的调用最新评论的方法,所以本文会分享两种调用最新评论的方法。大家根据喜好选择吧。

两种代码方法

第一种:

第一种方法是根据鸟叔分享的代码修改的,改正了链接调用的问题,实现了排除管理员评论,增加了链接的描述为评论的文章标题,以及更灵活的设置参数。

第一步,将下面的代码添加到您当前的主题 functions.php 文件中

/*
*调用最新评论
*成航先森修改
*//www.capjsj.cn/newest_comments.html
*/
function newest_comments($no_comments, $comment_len, $avatar_size) {
	$comments_query = new WP_Comment_Query();
    $comments = $comments_query->query( array( 'number' => $no_comments,'user_id'=>0) );
    $comm = '';
    if ( $comments ) : foreach ( $comments as $comment ) :
		$comm .= '<li><a class="author" href="' . get_permalink( $comment->comment_post_ID ) . '#comment-' . $comment->comment_post_ID . '">';
        $comm .= get_avatar( $comment->comment_author_email, $avatar_size );
        $comm .= '<strong>'.get_comment_author( $comment->comment_ID ) . ':</strong>';
        $comm .= strip_tags( substr( apply_filters( 'get_comment_text', $comment->comment_content ), 0, $comment_len ) ) . '</a> </li>';
    endforeach; else :
        $comm .= '没有评论';
    endif;
    echo $comm;
}

然后,在WordPress主题中想要调用的地方添加以下代码:

<div class="newest_comments">
<h3>最新评论</h3>
<?php newest_comments(10,80,24); ?>
</div>

上面newest_comments中的三个参数的意思是调用10篇文章,评论长度为80,Gravatar头像大小为24px,可以根据实际情况灵活修改这三个参数。

CSS样式参考:

.newest_comments li{overflow:hidden;width:99%;height:37px;border-top:1px dashed #dadada;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;line-height:37px}
.newest_comments li:first-child{border:0 none}
.newest_comments .avatar{float:left;margin:6px 8px 0 0;width:24px;height:24px}
.newest_comments strong{padding-right:5px}

第二种:

第二种方法其实也来自鸟叔,是begin主题中扒出来的。第二种方法同样可以排除管理员的评论,只是使用的方法与第一种方法不同。

只需要在WordPress中想要显示的地方添加以下代码即可:

<div class="newest_comments">
        <h3>最新评论</h3>
          <ul>
           <?php
		$show_comments = 10;
		$my_email = get_bloginfo ('admin_email');
		$i = 1;
		$comments = get_comments('number=200&status=approve&type=comment');
		foreach ($comments as $my_comment) {
			if ($my_comment->comment_author_email != $my_email) {
				?>
				<li <?php if ($i == $show_comments){echo 'style="border: none;';}?>>
					<a href="<?php echo get_permalink($my_comment->comment_post_ID); ?>#comment-<?php echo $my_comment->comment_ID; ?>" title="<?php echo get_the_title($my_comment->comment_post_ID); ?>" >
						<?php echo get_avatar($my_comment->comment_author_email,24); ?>
						<span class="comment_author"><strong><?php echo $my_comment->comment_author; ?></strong></span>
						<?php echo convert_smilies($my_comment->comment_content); ?>
					</a>
				</li>
				<?php
				if ($i == $show_comments) break;
				$i++;
			}
		}
		?>
       </ul> </div>

第二种方法中,修改评论数量是在第5行,上面是10条评论。修改Gravatar头像大小在第16行,上面是24px。

至于CSS样式,直接参考第一种的就可以了。

历史上的今天:

标签:
除特别注明外,本站所有文章均为成航先森 www.capjsj.cn 原创,本文共3053个字
转载请注明出处来自https://www.capjsj.cn/newest_comments.html
已有 19 位"计工"发布了激烈的评论,还有N多人围观笑而不语评论
的头像
欢迎发表评论
取消评论

表情
疑问调皮伤心抠鼻黑线微笑可爱奸笑震惊吓到了撇嘴大兵忍不住笑笑狂骂狂怒噢?鼓掌酷⊙﹏⊙b汗鄙视大哭嘿嘿

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 的头像

    厉害,技术流!

    2016-06-27 11:11 回复
  2. 的头像

    好,我又来了,继续看看有啥好东西

    2016-06-27 11:53 回复
  3. 的头像

    G头像已经被屏蔽打不开了。

    2016-06-27 19:50 回复
  4. 的头像

    确实不错

    2016-06-27 23:07 回复
  5. 的头像

    我现在用的主题自动屏蔽啦

    2016-06-28 16:10 回复
  6. 的头像

    在代码后面注释上,更直观点。

    2016-06-28 21:40 回复
  7. 的头像

    看着很不错

    2016-06-28 22:43 回复
  8. 的头像

    66666666666!!!!!!!

    2016-06-28 22:44 回复
  9. 的头像

    我管他是否能打开的。

    2016-06-29 11:00 回复
  10. 的头像

    这个还是很实用的。

    2016-06-29 14:12 回复
  11. 的头像

    我就瞅瞅不说话、技术流

    2016-06-30 16:05 回复
  12. 的头像

    其实我一直想说,我手机打开你的站,缩略图总显示不出来。不知道是手机浏览器问题还是。

    2016-06-30 22:46 回复
  13. 的头像

    谢谢分享,学习学习。

    2016-07-02 14:11 回复
  14. 的头像

    有点看不懂,但是知道是好东东

    2016-07-03 09:04 回复
  15. 的头像

    技术帝啊

    2016-07-04 22:34 回复
  16. 的头像

    好像并没有什么意义麽。

    2016-07-06 15:31 回复
官方微信
发表评论 返回顶部