今天给大家分享一下为wordpress主题模板添加读者墙功能的方法实现,本代码可以应用与主题侧边栏与页面,而且样式非常华丽,下面我们以PAGES页面添加为示例来给大家演示一下操作过程。
第一步:在wordpress核心文件内添加读者墙函数
在function.php文件内添加如下代码
//wordpress读者墙-wazhuti.comfunction readers_wall( $outer='.',$timer='30',$limit='18' ){ global $wpdb; $counts = $wpdb->get_results("select count(comment_author) 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_date > date_sub( now(), interval $timer month ) and user_id='0' and comment_author != '".$outer."' and post_password='' and comment_approved='1' and comment_type='') as tempcmt group by comment_author order by cnt desc limit $limit"); foreach ($counts as $count) { $avatar_url = get_bloginfo('wpurl') . '/wp-content/avatar/' . md5(strtolower($count->comment_author_email)); $c_url = $count->comment_author_url; if ($c_url == '') $c_url = ''; $page .= '<li><a target="_blank" rel="external nofollow" alt="' . $count->comment_author . '" href="'.%20$c_url%20.%20'"><span class="pic"><img src="'%20.%20$avatar_url%20.%20'.jpg" /></span><span class="num"><strong>'. $count->cnt . '+</strong></span><span class="name">' . $count->comment_author . '</span></a></li>'; } echo $page;}; |
注$limit=’18’ ,即显示为18个读者。请在/wp-content/目录下新建avatar文件夹,用来存放头像缓存文件。
第二步:添加读者墙相应CSS样式
/*读者墙*/.readers{margin:0px 8px 150px;width:290px}.readers ul{list-style: none outside none;margin-left: 0px;}.readers li{list-style: none outside none;margin: 0px 3% 15px;}.readers a{width:36px;height:36px;display:block;float:left;position:relative;margin:0 8px 8px 0}.readers .pic{position:absolute;top:0;left:0;z-index:100;width:36px;height:36px;display:block;-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden;-webkit-transition:all .4s ease-in-out;-moz-transition:all .4s ease-in-out;}.readers .pic img{border-radius:4px;width:36px;height:36px}.readers .num{position:absolute;top:0;left:0;z-index:99;width:34px;height:34px;line-height:34px;color:#e02523;font-size:18px;font-weight:bold;display:block;background-color:#fff;text-align:center;border:#bbb 1px solid;-webkit-transform:rotatey(-180deg);-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden;transition:all .4s ease-in-out;-webkit-transition:all .4s ease-in-out;-moz-transition:all .4s ease-in-out;border-radius:4px}.readers .name{position:absolute;top:0;left:0;color:#333;display:block;width:1px;height:1px;overflow:hidden;-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;text-align:center}.readers a:hover .pic{z-index:100;border-color:#eee;-webkit-transform:rotatey(180deg);-moz-transform:rotatey(180deg)}.readers a:hover .num{z-index:101;-webkit-transform:rotatey(0deg);-moz-transform:rotatey(0deg);opacity:.8}.readers a:hover .name{top:-28px;left:-38px;z-index:101;padding:4px 6px;height:20px;line-height:20px;overflow:hidden;background-color:#fff;border-radius:2px;box-shadow:0 0 3px #000;min-width:100px;opacity:.8}.readers a:nth-child(n+8):hover .name{top:36px} |
第三步:调用读者墙函数
在需要调用读者墙的位置添加如下代码
<?php readers_wall(); ?> |
评论前必须登录!
注册