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

WordPress评论样式大集合

35条评论
标签:
更多

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

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

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 .= "\n<ul>";
  foreach ($comments as $comment) {
    $output .= "\n<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 .= "\n</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啦! 转载请注明出处。

#1
不错,呵呵~~~有没有如何在评论框里设置背景图片的?
#2
给文本输入框(一般是标签)加入一个背景:background-image{url(图片地址);}
#3
我从这里进来的看看是不是挂马了···www.wordpress.la/node?page=52&fr=liehuo.net
#4
非常感谢,我在自己博客上试一试。
#5
这个值得收藏,谢谢博主了。
#6
不错支持收藏了
#7
去自己的BLOG试下效果,呵呵
#8
好久没来又有好东西收藏了
#9
这么多评论样式支持
#10
样式大集合不错收藏
#11
不错支持看有用到的地方没
#12
不错支持了强悍大集合
#13
这么多太强悍了
#14
wordpress这套博客程序给我的印象还是好不错,源于对PHP语言的不懂以及对这套系统功能的不了解,下载体验了一下就搁置了~看了相关文章受益匪浅!
#15
wordpress这套博客程序给我的印象还是很不错,源于对PHP语言的不懂以及对这套系统功能的不了解,下载体验了一下就搁置了~看了相关文章受益匪浅!
#16
我现在就是想做得是AJAX评论,提交评论后页面不用刷新显示。 纠结中
#17
不错这样的大集合要收藏
#18
Mark下,以后会用到。
#19
挺不错的,借用了
#20
以后自己做模版的时候可能会用到,收藏了先!
#21
看了不错
#22
不错。先收藏起来
#23
很有用的信息!多谢了!
#24
收藏之,代码哦
#25
很想使用评论不同的颜色显示,不知道然后操作???
#26
哈哈,第3条是必须要的
#27
我是来了解这方面的内容的,谢谢!
#28
wordpress啦的评论样式是什么?如何设置的啊
#29
找不到“在评论循环<?php foreach comment as $comment) { ?>后加上以下内容”这语句
#30
学习,谢谢分享