WordPress博客主题的站点经验值排行榜如何实现的?

几天前,boke112导航推出了作者级别和相应的好处,其中一个是体验价值排行榜。许多博客想知道这个排行榜是如何实现的,所以今天boke112故意将这种实现方法分享给每个人,我希望收集每个人的智慧来进一步优化这个代码。

准备工作:

知道如何创建自定义页面(如果你不明白,请移动:“ 如何建立WordPress的自定义页面 ”);

想一想如何计算作者水平和经验值;

使用统计读数安装插件WP-PostViews。如果是计算视图数量的其他方法,请修改第一步的代码。

多作者的WordPress的站点经验值排行榜实现方法:

如图1所示,打开自定义页面(如排行榜页面)模板,找到以下代码:

  1. <?php the_content(); ?>

然后在它下方添加以下代码:

  1. <div id = “zzphbbg”   style = “text-align:center; vertical-align:middle;” >
  2. <table width = “100%” >
  3. <TBODY>
  4. <TR>
  5. <td width = “10%” > <strong>排名</ strong> </ td>
  6. <td width = “20%” > <strong>作者</ strong> </ td>
  7. <td width = “10%” > <strong>等级</ strong> </ td>
  8. <td width = “20%” > <strong>经验值</ strong> </ td>
  9. <td width = “10%” > <strong>文章数</ strong> </ td>
  10. <td width = “20%” > <strong>阅读数</ strong> </ td>
  11. <td width = “10%” > <strong>评论数</ strong> </ td>
  12. </ TR>
  13.     <?PHP
  14.     全球 $ wpdb,  $ post ;
  15.     $ zzphb  =   ;
  16.     $ zuozhe_viewed  =  $ wpdb – > get_results(“SELECT count($ wpdb-> posts.ID)”为wzzs,sum($ wpdb-> posts.comment_count)为plzs,sum(meta_value + 0)AS ydzs,(count($ wpdb-> posts.ID)* 100 + sum(meta_value + 0)+ sum($ wpdb-> posts.comment_count)* 5)as jyz,$ wpdb-> posts.post_author as userid FROM $ wpdb-> posts LEFT JOIN $ wpdb-> postmeta ON $ wpdb-> postmeta.post_id = $ wpdb-> posts.ID WHERE post_author!=’1’AND post_status =’publish’AND meta_key =’views’AND post_password =“GROUP BY userid order by jyz DESC“);
  17.     if$ zuozhe_viewed){
  18.         $ i  = 0;
  19.         foreach  ($ zuozhe_viewed  as  $ post){
  20.             $ zzwzs  =  $ post – > wzzs;
  21.             $ zzydzs  =  $ post – > ydzs;
  22.             $ zzplzs  =  $ post – > plzs;
  23.             $ zzjyz  =  $ post – > jyz;
  24.             $ i ++;
  25.             $ zznc  = get_the_author_meta(’nickname’,  $ post – > userid);
  26.             if$ zzjyz > = 1 &&  $ zzjyz <10000){ $ zzdj ='<a  class = “vip1”  title = “作者等级LV.1为基础级,距离下级还差’。(10000- $ zzjyz)。 ‘“ > </a> <br/>【基础级】;;}
  27.             if$ zzjyz > = 10000 &&  $ zzjyz <100000){ $ zzdj ='<a  class = “vip2”  title = “作者等级LV.2为入门级,距离下级还差’。(100000- $ zzjyz)。 ‘“ > </a> <br/>【入门级】;;}
  28.             if$ zzjyz > = 100000 &&  $ zzjyz <500000){ $ zzdj ='<a  class = “vip3”  title = “作者等级LV.3为职业级,距离下级还差’。(500000- $ zzjyz)。 ‘“ > </a> <br/>【职业级】;;}
  29.             if$ zzjyz > = 500000 &&  $ zzjyz <1000000){ $ zzdj ='<a  class = “vip4”  title = “作者等级LV.4为大神级,距离下级还差’。(1000000- $ zzjyz)。 ‘“ > </a> <br/>【大神级】;}
  30.             如果$ zzjyz > = 1000000){ $ zzdj = ‘<a   = “vip5”  title=” 作者等级LV.5为宗师级”> </A> <BR/>【宗师级】’;}
  31.             if  ($ i  == 1){
  32.             $ tt  =  “<i class =’novel-rank-icon novel-rank-1′> </ i>” ;
  33.         }
  34.         否则 if  ($ i  == 2){
  35.             $ tt  =  “<i class =’novel-rank-icon novel-rank-2′> </ i>” ;
  36.         }
  37.         否则 if  ($ i  == 3){
  38.             $ tt  =  “<i class =’novel-rank-icon novel-rank-3′> </ i>” ;
  39.         }
  40.         其他  {
  41.             $ tt  =  $ i ;
  42.         }
  43.             $ zzphb  。=  “<tr> <td width = ’10%’> <span class =’fz16 red’> $ tt </ span> </ td>
  44. <td width = ’20%’> <span class =’fz16 red’> <a href = \“https://boke112.com/author/”。 $ post – > userid。 “/ \”title = \“”。 $ zznc  。 “在boke112导航的专栏\”rel = \“nofollow \”target = \“_ blank \”> $ zznc </a> </ span> </ td>
  45. <td width = ’10%’> <span class =’fz16 red’> $ zzdj </ span> </ td>
  46. <td width = ’20%’> <span class =’fz16 red’> $ zzjyz </ span> </ td>
  47. <td width = ’10%’> <span class =’fz16 red’> $ zzwzs </ span> </ td>
  48. <td width = ’20%’> <span class =’fz16 red’> $ zzydzs </ span> </ td>
  49. <td width = ’10%’> <span class =’fz16 red’> $ zzplzs </ span> </ td>
  50. </ tr>“ ;
  51.         }
  52.     }
  53.     echo  $ zzphb ;
  54. ?>
  55. </ TBODY>
  56. </ TABLE>
  57. </ DIV>

其中,作者级别和相应的经验值在代码中,请自行修改,经验值计算代码:

  1. count$ wpdb – > posts.ID)* 100 + sum(meta_value + 0)+ sum($ wpdb – > posts.comment_count)* 5)

这意味着作者文章的总数乘以100。文章的总读数加上章节的总评论乘以5.多重或经验值计算方法应由您自己修改。

2,添加以下CSS代码到主题的style.css的文件中

  1. #zzphbb g td { text-aligncenter ; vertical-alignmiddle ;}
  2. .novel-rank- icon  {
  3.     宽度:  17px ;
  4.     身高:  22px ;
  5.     display:  inline – block ;
  6.     background-image:  url(images / zzdj.png);
  7.     background-repeat:  no-repeat ;
  8. }
  9. .novel-rank- icon .novel-rank-1 {
  10.     background-position:0 0;
  11. }
  12. .novel-rank- icon .novel-rank-2 {
  13.     background-position:0 – 36px ;
  14. }
  15. .novel-rank- icon .novel-rank-3 {
  16.     background-position:0 – 74px ;
  17. }
  1. / *作者VIP等级显示功能的样式* /
  2. .vp,.vip,.vip1,.vip2,.vip3,.vip4,.vip5,.vip6,.vip7 { background:  url(images / vip.png)  no-repeat ; display:  inline – block ; 溢出:  隐藏 ; border:  none ;}
  3. .vp { background-position: – 515px  – 2px ; 宽度:  16px ; 身高:  16px ; margin-bottom: – 3px ;}
  4. .vp:hover { background-position: – 515px  – 22px ; 宽度:  16px ; 身高:  16px ; margin-bottom: – 3px ;}
  5. .vip { background-position: – 494px  – 3px ; 宽度:  16px ; 身高:  14px ; margin-bottom: – 2px ;}
  6. .vip:hover { background-position: – 494px  – 22px ; 宽度:  16px ; 身高:  14px ; margin-bottom: – 2px ;}
  7. .vip1 { background-position: – 1px  – 2px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}
  8. .vip 1:悬停{ background-position: – 1px  – 22px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}
  9. .vip2 { background-position: – 63px  – 2px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}
  10. .vip 2:悬停{ background-position: – 63px  – 22px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}
  11. .vip3 { background-position: – 144px  – 2px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}
  12. .vip 3:悬停{ background-position: – 144px  – 22px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}
  13. .vip4 { background-position: – 227px  – 2px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}
  14. .vip 4:悬停{ background-position: – 227px  – 22px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}
  15. .vip5 { background-position: – 331px  – 2px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}
  16. .vip 5:悬停{ background-position: – 331px  – 22px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}
  17. .vip6 { background-position: – 441px  – 2px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}
  18. .vip 6:悬停{ background-position: – 441px  – 22px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}
  19. .vip7 { background-position: – 611px  – 2px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}
  20. .vip 7:悬停{ background-position: – 611px  – 22px ; 宽度:  46px ; 身高:  14px ; margin-bottom: – 1px ;}

3,将以下图片存放到主题的图片夹数文件中如果不是这个文件夹数,请注意修改CSS代码中的图像路径。

总结

实际上,这个排行榜的实现方法类似于我们读者墙的实现方法。通过SQL语句查询相应的数据后,可以显示它。剩下的就是调整CSS样式。如果您担心通过SQL实时查询显示数据,或者您担心被他人扫描,则可以向排行榜页面添加验证码,并且只有在验证码正确的情况下才能添加验证码。具体来说,如何折腾取决于每个人的想法。本文仅使用boke112导航提交作者列表来说明该想法。

以上内容来源于:HTTPS://boke112.com/3647.html

人已赞赏
WP实用教程

WordPress企业主题怎么为文章自动添加标签链接变为内链并可以控制数量呢

2019-4-24 11:31:02

WP实用教程

WordPress网站添加文章字数统计和阅读时间的方法

2019-4-24 17:02:31

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!

2. 分享目的仅供大家学习和交流,请不要用于商业用途!

3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!

4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!

5. 如有链接无法下载、失效或广告,请联系管理员处理!

6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

7. 如遇到加密压缩包,默认解压密码为"www.zhidianju.com",如遇到无法解压的请联系管理员!

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索