首页    >    新闻资讯    >   WordPress评论样式大集合

WordPress评论样式大集合

评论的好处站长们都是知道的,只要不是垃圾评论,网站上的评论是多多益善,虽然看着会有点累,不过一来表明了网站的受欢迎度,二来也可以增进站长和读者之间的交流。

所以在评论的样式上多花些功夫也是值得的。

1. 突出显示作者的回复

打开comments.php文件,在评论循环<?php foreach comment as $comment) { ?>后加上以下内容:

<?php
$isByAuthor = false;
if($comment->comment_author_email == get_the_author_email()) {
$isByAuthor = true;
}
?>

接着找到表示评论的代码(不同主题中该代码内容可能不同):

<li class="<?php echo $oddcomment; ?>" id="comment-<?php comment_ID() ?>">

如果评论是作者发表的,那么我们需要输出authorcomment类:

<li class="<?php echo $oddcomment; ?> <?php if($isByAuthor ) {
 echo 'authorcomment';} ?>" id="comment-<?php comment_ID() ?>">

最后为作者评论创建CSS类。打开style.css文件,插入以下代码(颜色可以自己选择):

.authorcomment{
	color:#fff;
	font-weight:bold;
	background:#068;
}

2. 激活嵌套评论

很多人似乎都不怎么喜欢嵌套评论,不过从视觉效果上来说,嵌套评论还是有优势的,尤其是在所有人的评论样式都是一样的时候。

要激活嵌套评论也很简单,WordPress后台菜单(设置>讨论>激活嵌套评论)就有这么个选项,你也可以选择嵌套评论可允许的最大层数。

3. 禁止评论中的HTML链接

禁止评论中的HTML链接,目的就是防止spam和过度推广。

只要在function.php文件里加上下面的代码就可以完全禁用评论里的HTML链接了:

function plc_comment_post( $incoming_comment ) {
	$incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
	$incoming_comment['comment_content'] = str_replace( "'", '&apos;', $incoming_comment['comment_content'] );
	return( $incoming_comment );
}

function plc_comment_display( $comment_to_display ) {
	$comment_to_display = str_replace( '&apos;', "'", $comment_to_display );
	return $comment_to_display;
}

add_filter('preprocess_comment', 'plc_comment_post', '', 1);
add_filter('comment_text', 'plc_comment_display', '', 1);
add_filter('comment_text_rss', 'plc_comment_display', '', 1);
add_filter('comment_excerpt', 'plc_comment_display', '', 1);

4. 订阅评论

如果每当有人回复你的评论时,都会有一封邮件通知你,那么你就不会错过和别人的每一次交流了。

Subscribe to Comments就是一款可以订阅评论的插件。激活这款插件后,评论框下面就会多出一个链接,你可以点击这个链接订阅评论。

5. 显示博客评论总数

利用$wpdb对象显示博客当前总评论数量。你希望在博客的某个位置显示这个数量,就在相应的文件里加上下面的代码:

<?php $numcomms = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '1'");
if (0 < $numcomms) $numcomms = number_format($numcomms);
echo "There's ".$numcomms." total comments on my blog";
?>  

其中的变量$numcomms包含了你的WordPress博客上的评论总数。

6.显示若干条最新评论

WordPress的一个自带widget有显示最新评论的功能,不过你也可以选择不用widget。在希望显示最新评论的版块对应的文件里添加下面的代码:

<?php
  $pre_HTML ="";
  $post_HTML ="";
  global $wpdb;
  $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, SUBSTRING(comment_content,1,30) 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 = '' ORDER BY comment_date_gmt DESC LIMIT 10";

  $comments = $wpdb->get_results($sql);
  $output = $pre_HTML;
  $output .= "
<ul>";
  foreach ($comments as $comment) {
    $output .= "
<li>".strip_tags($comment->comment_author) .":" . "<a href="" . get_permalink($comment->ID)."#comment-" . $comment->comment_ID . "" title="on ".$comment->post_title . "">" . strip_tags($comment->com_excerpt)."</a></li>";
  }
  $output .= "
</ul>";
  $output .= $post_HTML;
  echo $output;
?>  

7. 显示特定时间段内评论次数最多的文章列表

很多网站在侧栏列出XX月最受欢迎的文章,利用的也是这个原理。

如果你希望在侧栏显示这个列表,就在sidebar.php里加入下面的代码:

<ul>
<?php
$result = $wpdb->get_results("SELECT comment_count,ID,post_title, post_date FROM $wpdb->posts WHERE post_date BETWEEN '2010-08-01' AND '2010-09-01' ORDER BY comment_count DESC LIMIT 0 , 10");

foreach ($result as $topten) {
    $postid = $topten->ID;
    $title = $topten->post_title;
    $commentcount = $topten->comment_count;
    if ($commentcount != 0) {
    ?>
         <li><a href="<?php echo get_permalink($postid); ?>"><?php echo $title ?></a></li>
    <?php }
}
?>
</ul>

别忘了修改第三行里的时间段。

WordPress啦编译

分类:新闻资讯

标签:,

* 版权声明:作者WordPress啦! 转载请注明出处。