WordPress博客如何构造一个智能排名网址导航站

投稿   Jane博客  2018-08-30 07:09:44  423 人阅读  44 条评论

网络上很多导航站的源码都是 PHP 语言或其他系统,但是 WordPress 方面的导航站倒是很少,今天我就跟大家分享一下 WordPress 博客如何构造一个智能排名网址导航站。我所构建的网址导航主要分为以下几个模块:访客网站自动排名第一模块、知名博客模块、人气博客模块、博客大全模块、边栏模块。具体效果请点此查看

WordPress博客如何构造一个智能排名网址导航站 WordPress 第1张

一、访客网站自动排名第一模块

通过调取博客留言者的名字和网址,并去重,按照留言时间顺序排列,显示最近带链接的留言排在第一位(留言者不填写链接则不显示),具体效果如下:

WordPress博客如何构造一个智能排名网址导航站 WordPress 第2张

1、把以下代码放入到所用主题的 functions.php 最后一个%>。

  1. //最新评论排第一
  2. function Autofirst($af){
  3.     global $wpdb;
  4.     $queryaf="select comment_author, comment_author_url, comment_date from $wpdb->comments where comment_ID in (select max(comment_ID) from $wpdb->comments where comment_approved='1' and comment_author_url !='' and user_id='0'  GROUP BY comment_author_email)  ORDER BY comment_date DESC LIMIT $af";
  5.     $wally = $wpdb->get_results($queryaf);
  6.     foreach ($wally as $commentaf){
  7.         $tmpy"<li><a target=\"_blank\" href=\"".$commentaf->comment_author_url."\">".$commentaf->comment_author."</a></li>";
  8.         $outputy .= $tmpy;
  9.     }
  10.     $outputy = "<ul>".$outputy."</ul>";
  11.     echo $outputy ;
  12. }

其中输出的样式可以自定义,毕竟每一个博客的样式都不一样,这个就靠自己发挥了,只需要在以上代码中的<ul>中添加一个 class 属性即可。

2、把以下代码放入需要显示最新访客的地方。

  1. <?php Autofirst(100);?>

其中 100 表示显示 100 个最新访客,这个数值可以自定义,一定不能为空,要不然会出错,最起码要大于 0 以上。

二、知名博客模块

这个模块主要是显示一定时期内在本站留言比较活跃的用户网站。

WordPress博客如何构造一个智能排名网址导航站 WordPress 第3张

  1. <?php top_comment_authors(24); ?>

注意:本模块仅适用于知更鸟Begin 主题,括号里面的数字为显示数量,你可以按需修改。

PS:boke112 认为这个这个模块既然叫做知名博客模块,不如做成展示名气比较大的独立博客,这样方面用户知道哪些是知名博客,也方面用户直接访问这些知名博客。

三、人气博客模块

这个模块主要是显示一定时期内在本站留言数最多的用户网站。

WordPress博客如何构造一个智能排名网址导航站 WordPress 第4张

  1. <?php top_comments(24); ?>

注意:本模块仅适用于知更鸟 Begin 主题,括号里面的数字为显示数量,你可以按需修改。

四、博客大全模块

这个模块调用网站的友情链接,由于主题差异,每个网站的调用方法可能不尽相同,如果不懂的话,你可以资讯主题作者。

WordPress博客如何构造一个智能排名网址导航站 WordPress 第5张

五、边栏模块

调用主题侧边栏,在后台小工具中添加你想要显示的内容。

温馨提示:

1、如果你正在使用知更鸟Begin 主题,以上代码全部适用,非知更鸟 Begin 主题,通过本教程你只能实现最近访客访客自动排名第一功能,如果感兴趣,你也可以参照这篇文章:《WordPress 博客导航实现最新评论自动排第一功能》。

2、各位在使用的时候,会发现知名博客和人气博客显示的内容与本站有些诧异,如果你希望和本站显示的一样,你可以找到/wp-content/themes/begin/inc/inc.php 文件,将约 2013 至 1268 行代码替换成以下代码。

  1. // 读者排行
  2. function top_comment_authors($amount = 98) {
  3.     global $wpdb;
  4.         $prepared_statement = $wpdb->prepare(
  5.         'SELECT
  6.         COUNT(comment_author) AS comments_count, comment_author, comment_author_url, comment_author_email, MAX( comment_date ) as last_commented_date
  7.         FROM '.$wpdb->comments.'
  8.         WHERE comment_author != "" AND comment_type = "" AND comment_approved = 1  AND user_id = ""
  9.         GROUP BY comment_author
  10.         ORDER BY comments_count DESC, comment_author ASC
  11.         LIMIT %d',
  12.         $amount);
  13.     $results = $wpdb->get_results($prepared_statement);
  14.     $output = '<div class="top-comments">';
  15.     foreach($results as $result) {
  16.         $c_url = $result->comment_author_url;
  17.         $output .= '
  18.         <div class="lx8">
  19.             <div class="top-author">
  20.                 <div class="top-comment"><a href="' . get_template_directory_uri()."/inc/go.php?url=". $c_url . '" target="_blank" rel="external nofollow"><div class="author-url"><strong> ' . $result->comment_author . '</div></strong></a></div>
  21.                 <div class="top-comment">' . human_time_diff(strtotime($result->last_commented_date)) . '前来过</div>
  22.             </div>
  23.         </div>';
  24.     }
  25.     $output .= '<div class="clear"></div></div>';
  26.     echo $output;
  27. }
  28. function top_comments($number = 98) {
  29.     global $wpdb;
  30.     $counts = wp_cache_get( 'mostactive' );
  31.     if ( false === $counts ) {
  32.         $counts = $wpdb->get_results("SELECT COUNT(comment_author) AS cnt, comment_author, comment_author_url, comment_author_email
  33.         FROM {$wpdb->prefix}comments
  34.         WHERE comment_date > date_sub( NOW(), INTERVAL 90 DAY )
  35.         AND comment_approved = '1'
  36.         AND comment_author_email != 'example@example.com'
  37.         AND comment_author_email != ''
  38.         AND comment_author_url != ''
  39.         AND comment_type = ''
  40.         AND user_id = '0'
  41.         GROUP BY comment_author_email
  42.         ORDER BY cnt DESC
  43.         LIMIT $number");
  44.     }
  45.     $mostactive =  '<div class="top-comments">';
  46.     if ( $counts ) {
  47.         wp_cache_set( 'mostactive', $counts );
  48.         foreach ($counts as $count) {
  49.             $c_url = $count->comment_author_url;
  50.             $mostactive .= '
  51.             <div class="lx8">
  52.                 <div class="top-author">
  53.                     <div class="top-comment"><a href="' . get_template_directory_uri()."/inc/go.php?url=". $c_url . '" target="_blank" rel="external nofollow"><div class="author-url"><strong> ' . $count->comment_author . '</div></strong></a></div>
  54.                     <div class="top-comment">留下'.$count->cnt.'个脚印</div>
  55.                 </div>
  56.             </div>';
  57.         }
  58.         $mostactive .= '<div class="clear"></div></div>';
  59.         echo $mostactive;
  60.     }
  61. }
  62. if (zm_get_option('meta_delete')) {} else {require get_template_directory() . '/inc/meta-delete.php';}
  63. require get_template_directory() . '/inc/meta-boxes.php';
  64. require get_template_directory() . '/inc/show-meta.php';

然后使用以下 CSS 代码文件。

  1. .favorites-top{
  2.     margin-top:10px;
  3. }
  4. .breadcrumb,
  5. .yheader{
  6.     display:none;
  7. }
  8. #primary {
  9.     floatleft;
  10. }
  11. #sidebar {
  12.     float: rightright;
  13. }
  14. .top-comments {
  15.     margin: -5px 0 0 0;
  16. }
  17. .top-comments img {
  18.     floatleft;
  19.     heightauto;
  20.     max-width: 100%;
  21.     widthauto;
  22. }
  23. .top-comments .lx8 {
  24.     floatleft;
  25.     min-height1px;
  26.     width: 16.6666666666666%;
  27.     padding2px;
  28. }
  29. .top-author {
  30.     background#fff;
  31.     margin5px;
  32.     padding: 0 0 10px 0;
  33.     border1px solid #ddd;
  34. }
  35. .top-comment {
  36.     color#999;
  37.     text-aligncenter;
  38. }
  39. .author-url {
  40.     width: 100%;
  41.     padding5px;
  42.     overflowhidden;
  43.     text-overflow: ellipsis;
  44.     whitewhite-space: nowrap;
  45. }
  46. .comment-authors {
  47.     padding: 0 10px;
  48. }
  49. .dh_title{
  50.     background#fff;
  51.     margin: 0 0 10px 0;
  52.     padding10px;
  53.     border1px solid #ddd;
  54.     box-shadow: 0 0 1px rgba(0,0,0,.04);
  55.     border-radius: 2px;
  56. }
  57. .dh_title h3{
  58.     font-size18px;
  59.     margin-left:10px;
  60. }
  61. .dh_title .dh_blog{
  62.     margin:10px 0;
  63. }
  64. .dh_title .dh_more{
  65.     positionabsolute;
  66.     top5px;
  67.     rightright: 20px;
  68. }
  69. }
  70. article{
  71.     background:#fff;
  72. }
  73. #sites-widget-one h3 {
  74.     font-size18px;
  75.     background#fff;
  76.     width: 100%;
  77.     height30px;
  78.     line-height40px;
  79.     padding: 0 20px;
  80.     border-bottom0px solid #ddd;
  81. }
  82. .widget ul{
  83.     width: 100%;
  84. }
  85. .widget_links li{
  86.     floatleft;
  87.     width: 20% !important;
  88.     border:0px;
  89. }
  90. .widget_links a{
  91.     border1px solid #fff;

懒人福利

如果你和我一样,比较懒惰,你可以新建一个 PHP 页面文件,加入以下代码,将文件上传至/wp-content/themes/begin/pages/,然后在后台,新建页面,模板选择博客导航即可。

注意,本代码仍然只适用于知更鸟 Begin 主题。

历史上的今天:

文章标签: ,   ,  
原文地址:https://lixuejiang.com/wordpress/2496.htm
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 Jane博客 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
公共账号

相关文章 分类热门分类热评最新问答

阿里云双12嘉年华:1核2G服务器367元/年,2核4G服务器959元/年,4核8G服务器5M带宽2090元/年。

 发表评论

中国赞表情摊手表情吃瓜表情笑哭表情偷笑表情衰表情汗表情思考表情费解表情抓狂表情晕表情流泪表情疑问表情嘻嘻表情吃惊表情鼓掌表情

  1. 贵安服贸交易平台
    贵安服贸交易平台 @回复

    厉害了 学习一下,我回头去试试 多谢博主了

  2. 贪吃社
    贪吃社 @回复

    对于我这样的小白,你以为有教程我就会吗 [笑哭]

  3. 精品软件分享
    精品软件分享 @回复

    不错的导航代码

  4. 流氓少年
    流氓少年 @回复

    有点意思

  5. 优站盒子
    优站盒子 @回复

    能改一个公共导航页吗? 每个站点直接挂上链接就可以

  6. 博客之家
    博客之家 @回复

    不错的导航代码,我现在的导航是用emlog建的,有时间也来试试,谢谢分享!

  7. 大学生博客
    大学生博客 @回复

    文章不错,试一下。

  8. 土蜂蜜网
    土蜂蜜网 @回复

    我来看看这个怎么样!

  9. 土蜂蜜百科网
    土蜂蜜百科网 @回复

    提示158有问题

  10. 土蜂蜜百科网
    土蜂蜜百科网 @回复

    可以哦,去试试

  11. IT敢客
    IT敢客 @回复

    我的网站侧边栏上也实现了一个类似的功能。自己改的代码。按照评论最新事件然后评论次数进行排序!
    IT敢客网站的侧边栏读者墙!

    • 懿古今
      懿古今2018-08-31 16:42  回复

      @IT敢客[中国赞] 其实独立博客玩的就是个性,如果自己懂代码的话,可玩的东西就更多了

  12. 一介小民
    一介小民 @回复

    谷歌广告没了?

  13. 清风小墨
    清风小墨 @回复

    小IP站路过

  14. 汪诗迪博客
    汪诗迪博客 @回复

    只限于知更鸟主题?

    • 懿古今
      懿古今2018-08-31 17:57  回复

      @汪诗迪博客因为该文后面的某些功能是依赖于知更鸟begin主题自带的函数,想要用到其他主题,需要另写函数才行。第一个模块倒是适用于所有WordPress主题

  15. 去看你博客
    去看你博客 @回复

    现在用的就是知更鸟的模板,感谢博主分享经验,回去试试看!

  16. 画册印刷
    画册印刷 @回复

    导航站这样做好像有点浪费时间呀。。。。

  17. 里维斯社
    里维斯社 @回复

    确实很不错,适合导航站

  18. 小白博客
    小白博客 @回复

    我要试试哈哈哈哈

  19. 云顶天的博客
    云顶天的博客 @回复

    哎呀,我都没上知名博客啊~哈哈

  20. 明月清风
    明月清风 @回复

    这和你的那个导航类似呀,不过像我这种小机器,貌似受不了。

  21. 闲鱼
    闲鱼 @回复

    如果是我的话可能会考虑建一个页面,不然每次都调用感觉速度会影响

    • 懿古今
      懿古今2018-08-30 16:53  回复

      @闲鱼其实可以参考现在很多导航站的做法,设置多少分钟更新一次,这样会好一些。

  22. 区块链
    区块链 @回复

    [嘻嘻] 确实是挺不错的。 [吃瓜] 有些模板,评论读者版有展示。

  23. 手机挖矿赚钱
    手机挖矿赚钱 @回复

    这个功能挺好的,提高网站的访问量

  24. 99八十一
    99八十一 @回复

    自动排名这个功能做导航站确实不错。

  25. 爱生活爱技术
    爱生活爱技术 @回复

    挺不错的

  26. 学习笔记Blog
    学习笔记Blog @回复

    如果给博客加了这个,那么首先自己要做到“互评互访”!

  27. 明月登楼
    明月登楼 @回复

    其实这个呀还是很考究自己的CSS功底的!

  28. uzkit
    uzkit @回复

    记得原来有人做过一个博客联盟的插件挺好的,现在记不清名字了

    • 懿古今
      懿古今2018-08-30 09:24  回复

      @uzkit最先做成博客联盟插件的好像是张戈,不过它那个联盟卖掉之后就由其他人接手了