WordPress帶Gravatar頭像的最新評(píng)論代碼-排除管理員評(píng)論
編輯:狂族晨曦 來(lái)源:WordPress技巧 日期:2016-06-27 閱讀: 7,315 次 19 條評(píng)論 » 百度已收錄
先森博客的首頁(yè)本來(lái)右側(cè)顯示的是熱門(mén)文章的,但是這些熱門(mén)文章來(lái)自瀏覽量,由于用的是WordPress大學(xué)看到的record_visitors訪問(wèn)計(jì)數(shù),先森又無(wú)法讓其顯示最近一個(gè)月內(nèi)訪問(wèn)量最多的文章,所以“熱門(mén)文章”里的文章基本就沒(méi)有變動(dòng)過(guò),因此放在首頁(yè)也就沒(méi)有人看了。所以先森思來(lái)想去,還是將其換成了最新評(píng)論。最新評(píng)論經(jīng)常變動(dòng),效果應(yīng)該會(huì)好一些。
最新評(píng)論是一個(gè)常用功能,WordPress大學(xué)和知更鳥(niǎo)都有分享,WordPress大學(xué)提供的方法是放在側(cè)邊欄的,且是2012年分享的代碼了,所以先森選擇了知更鳥(niǎo)2014年分享的“WordPress最近評(píng)論代碼”。
先森使用了鳥(niǎo)叔提供的代碼后,等修改完CSS樣式之后才發(fā)現(xiàn)了一個(gè)重大的問(wèn)題:每條評(píng)論的鏈接都是一樣的!

調(diào)用的評(píng)論鏈接相同
研究了半天,先森發(fā)現(xiàn)是代碼中g(shù)et_permalink的參數(shù)用錯(cuò)了,修改過(guò)來(lái)就正常了。而在拍錯(cuò)的過(guò)程中先森又發(fā)現(xiàn)了一種也比較好用的調(diào)用最新評(píng)論的方法,所以本文會(huì)分享兩種調(diào)用最新評(píng)論的方法。大家根據(jù)喜好選擇吧。
兩種代碼方法
第一種:
第一種方法是根據(jù)鳥(niǎo)叔分享的代碼修改的,改正了鏈接調(diào)用的問(wèn)題,實(shí)現(xiàn)了排除管理員評(píng)論,增加了鏈接的描述為評(píng)論的文章標(biāo)題,以及更靈活的設(shè)置參數(shù)。
第一步,將下面的代碼添加到您當(dāng)前的主題 functions.php 文件中
/*
*調(diào)用最新評(píng)論
*成航先森修改
*//www.cnidcc.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 .= '沒(méi)有評(píng)論';
endif;
echo $comm;
}
然后,在WordPress主題中想要調(diào)用的地方添加以下代碼:
<div class="newest_comments"> <h3>最新評(píng)論</h3> <?php newest_comments(10,80,24); ?> </div>
上面newest_comments中的三個(gè)參數(shù)的意思是調(diào)用10篇文章,評(píng)論長(zhǎng)度為80,Gravatar頭像大小為24px,可以根據(jù)實(shí)際情況靈活修改這三個(gè)參數(shù)。
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}
第二種:
第二種方法其實(shí)也來(lái)自鳥(niǎo)叔,是begin主題中扒出來(lái)的。第二種方法同樣可以排除管理員的評(píng)論,只是使用的方法與第一種方法不同。
只需要在WordPress中想要顯示的地方添加以下代碼即可:
<div class="newest_comments">
<h3>最新評(píng)論</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>
第二種方法中,修改評(píng)論數(shù)量是在第5行,上面是10條評(píng)論。修改Gravatar頭像大小在第16行,上面是24px。
至于CSS樣式,直接參考第一種的就可以了。
歷史上的今天:
轉(zhuǎn)載請(qǐng)注明出處來(lái)自http://www.cnidcc.cn/newest_comments.html

川公網(wǎng)安備 51011202000104號(hào)
厲害,技術(shù)流!
好,我又來(lái)了,繼續(xù)看看有啥好東西
G頭像已經(jīng)被屏蔽打不開(kāi)了。
@夏日博客: 我用的是本地緩存,緩存對(duì)象是新浪源
確實(shí)不錯(cuò)
我現(xiàn)在用的主題自動(dòng)屏蔽啦
在代碼后面注釋上,更直觀點(diǎn)。
看著很不錯(cuò)
66666666666!!!!!!!
我管他是否能打開(kāi)的。
這個(gè)還是很實(shí)用的。
我就瞅瞅不說(shuō)話、技術(shù)流
其實(shí)我一直想說(shuō),我手機(jī)打開(kāi)你的站,縮略圖總顯示不出來(lái)。不知道是手機(jī)瀏覽器問(wèn)題還是。
@Koolight: 這個(gè),我在UC瀏覽器手機(jī)版上確實(shí)有這個(gè)問(wèn)題,不知道你是不是?
@狂族晨曦: 是的UC瀏覽器的,但是第二次打開(kāi)就可以顯示了。
謝謝分享,學(xué)習(xí)學(xué)習(xí)。
有點(diǎn)看不懂,但是知道是好東東
技術(shù)帝啊
好像并沒(méi)有什么意義麼。