我的读者墙,壮观的墙
之前用插件实现了读者墙,后来wordpress升级到3.0以后插件不兼容就关闭了。昨晚找到一篇文章提到不用插件来实现读者墙的方法。赶紧一试效果还真不错。并且经过我的简单改进,解决了同时加载很多小头像时页面缓慢的问题。下面来看看过程:
一、首先给大家看张我的读者墙的实际效果图吧:
查看地址:https://tsov.net/readerswall/
二、新建一个页面的模板。创建模板的方法:
1、在当前使用的主题文件夹中创建一个新模板,将它命名为 readerswall.php。
2、接着在readerswall.php文件最上面加入下面的代码,用于在后台选择模板时的名称说明。
<?php
/*
Template Name: 读者墙模板
*/
?>
然后把 你主题的头部、底部等之类的代码拷贝到 readerswall.php 文件中(这一步可以先不动,等下看效果时少那部分再补上去你就明白为什么要把头部、底部这些公用的放进去了)。
三、把下面的代码放在你模板中:
<?php
//start 读者墙
$query="SELECT COUNT(comment_ID) AS cnt, comment_author, comment_author_url, comment_author_email FROM (SELECT * FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->posts.ID=$wpdb->comments.comment_post_ID) WHERE comment_author !='simonsu' AND comment_author_email != 'simon@tsov.net' AND post_password='' AND comment_approved='1' AND comment_type='') AS tempcmt GROUP BY comment_author_email ORDER BY rand() LIMIT 400";
$wall = $wpdb->get_results($query);
foreach ($wall as $comment){
if( $comment->comment_author_url )
$url = $comment->comment_author_url;
else $url="#";
$tmp = "<a href='".$url."' target='_blank' title='".$comment->comment_author." (".$comment->cnt.")'>".get_avatar($comment->comment_author_email, 50)."";
$output .= $tmp;
}
echo $output;
//end 读者墙
?>
四、登录后台,新建一个页面。标题、内容你就写"读者墙",页面模板就选择你刚在创建的模板。这样子实现了。
五、一些细节、样式之类你继续调整下就OK了。若有不清楚的就留言给我吧。
提示,若再结合我之前的《wordpress中把用户的头像从gravatar中缓存到本地于提高访问速度》。那么这个页面速度也大大提高了。
- 相关文章
- HTTP状态代码及其含义通过.htaccess更正国外空间的时区问题使用google浏览器chrome扩展来监视wordpress的评论更改wordpress的评论用户的主页为新窗口打开通用设置htaccess来优化wordpress实现yslow评分达到A优化wordpress的图库(相册)lightbox效果博客与附件分家了wordrepss的HTML编辑模式添加链接增加target="_blank"写Wordpress博客不自动生成缩略图的方法wordpress实现附件分离到另一服务器wordpress半角引号变成全角引号问题的解决解决tsov出国后无法直接在后台备份及发送邮件的问题Tsov-Weather plus升级至1.4版(解决UTF-8编码和指定城市的功能)TSOV的wordpress天气插件功能升级了[紧急通告]TSOV的wordpress天气插件访问量过大,请更换分站地址网站PR更新的感悟我的wordpress weather widget(天气插件)饲养蜘蛛技巧随机读取数据库数据的代码(ACCESS)
当前共有9条评论,我也要发表: