记录分享
互联网历程和变化

如何制作wordpress读者墙?wordpress读者墙制作(非插件)。

wordpress读者墙也就是评论排行榜,展示网站评论最多的读者头像,没有头像可以在此设置自己的头像

读者墙对用户来说是一个很好的体验,也有wp读者墙插件的,需要的朋友上百度搜一下一大把。

以下是wordpress读者墙代码:

<div id=”hotfriends”>
<h3>30天内最活跃的读者</h3>
<ul>
<?php
/**
* WordPress制作读者评论排行榜
*/

global $wpdb;
// 执行数据库查询
$counts = $wpdb->get_results(“SELECT COUNT(comment_author) AS cnt, comment_author, comment_author_url, comment_author_email
FROM {$wpdb->prefix}comments
WHERE comment_date > date_sub( NOW(), INTERVAL 1 MONTH )
AND comment_approved = ’1′
AND comment_author_email != ‘example@example.com’
AND comment_author_url != ”
AND comment_type = ”
AND user_id = ’0′
GROUP BY comment_author_email
ORDER BY cnt DESC
LIMIT 15″);

$mostactive = ”;
if ( $counts ) {
// 输出读者列表
foreach ($counts as $count) {
$c_url = $count->comment_author_url;
$mostactive .= ‘<li>’ . ‘<a href=”‘. $c_url . ‘” title=”‘ . $count->comment_author .’ 发表 ‘. $count->cnt . ‘ 条评论” target=”_blank”>’ . get_avatar($count->comment_author_email, 55, ”, $count->comment_author . ‘ 发表 ‘ . $count->cnt . ‘ 条评论’) . ‘</a></li>’;
}
echo $mostactive;
}
?>
<div style=”clear:both;”></div>
</ul>
</div> <!– / hotfriends –>

保存时存为utf-8格式,不然会出现乱码。

以下为wordpress读者墙代码参数,大家可以根据自己的需求来设定:

1、限定读者排行榜时间范围

代码 时间范围
INTERVAL 1 MONTH 最近一个月内
INTERVAL 3 YEAR 最近3年内
INTERVAL 2 WEEK 最近2周内
INTERVAL 6 DAY 最近6天内

如果只想显示本月的排行榜,将代码

WHERE comment_date > date_sub( NOW(), INTERVAL 1 MONTH )  改为

WHERE MONTH(comment_date)=MONTH(NOW()) and year(comment_date)=year(now())  即可。

2、限定评论是否审核

AND comment_approved = ’1′ 用于限定只统计已经通过审核的评论,如果你想统计未通过审核的评论,你可以将这一句代码删除。

3、排除某些读者

AND comment_author_email != ‘example@example.com’ 用于排除不计入榜单的评论者,例如博主自己,将email地址改成博主的Email即可。使用评论者的Email作为限定条件比昵称更好,毕竟头像也是由Email决定的。如果你想排除多个评论者,可以多写几行类似的代码,Email不同即可,如:

AND comment_author_email != ‘example1@example.com’
AND comment_author_email != ‘exam2@exam.com’

4、是否包括不填URL的评论者

AND comment_author_url != ” 排除没填URL的评论者,也就是那些没有网站的评论者将无法进入你的排行榜。

5、限定评论的类型

AND comment_type = ” 限定了评论的类型,这行代码排除了 trackback 和 pingback,如果你还想统计这两种评论类型,你可以将此行代码删除。

6、是否包含博客的注册用户

AND user_id = ’0′ 使排行榜中不包含博客的注册用户(包括博主),注册用户将无法进入你的排行榜。如果你的博客有大量的注册用户,或者你的博客只有博主这个注册用户,你可以将此行代码删除。

7、限定排行榜中的人数

代码中 LIMIT 15 用于限定排行榜中的人数,这里限制输出15位读者,你可以根据需要做一下更改。

8、限制头像的大小

代码中的 55 限定了输出的头像大小为 55 * 55,如果你不需要这么大的尺寸,你可以将这个数值改小点。

CSS样式,也就是控制这个排行榜怎么显示的代码。复制到主题目录下的style.css中即可,你可以根据需要做些更改,CSS样式如下:

#hotfriends {
text-align:center;
}
#hotfriends ul {
padding:7px;
}
#hotfriends ul li {
float:left;
list-style:none outside none;
margin:6px;
padding:0;
}
#hotfriends h3 {
font-size:15px;
margin:7px 7px 0;
}

使用方法:

可以把代码放在 single.php、sidebar.php、page.php等中,当然也可以为读者墙制作独立页面,在将淘宝店铺代码插入网页中讲了如何制作单独页面。wordpress读者墙效果如下:

读者墙

OK到此就结束了~!

未经允许不得转载:奇舰 » 如何制作wordpress读者墙?wordpress读者墙制作(非插件)。

分享到:更多 ()

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #2

    我想把读者墙没有头像的用户换成wp后台设置默认的头像,请问如何操作?谢谢!

    Aaron2年前 (2014-08-15)回复
  2. #1

    把读者墙作为独立页面,由page.php修改而来,出现Fatal error: Call to undefined function get_header(),怎么办?

    刚哥3年前 (2014-06-10)回复

奇舰科技 更专业 更效率

商务合作注册