如何让WordPress侧边栏实现历史上的今天(两个版本)

 2016-03-12 07:36:55  1,436 人阅读  18 条评论

投放广告联系   诚邀合作伙伴   赞助我们   公告栏   赞助光荣榜

昨天介绍的《如何让WordPress侧边栏文本小工具运行php代码》这篇文章是本文的基础,只有WordPress侧边栏文章小工具具备了运行PHP代码的能力,才能更容易地实现侧边栏上显示历史上的今天这个功能。

如何让WordPress侧边栏实现历史上的今天(两个版本)

其实历史上的今天的两个版本,主要是针对“今天”而言,因为这个“今天”有两重意思:

一是针对某篇文章的发布日期而言,这个版本只适用于正文侧边栏。

二是针对现实的时间(其实是服务器主机时间)而言,这个版本既适用于正文侧边栏,也适用于整站侧边栏。

一、侧边栏实现针对某篇文章的发布日期而言的历史上今天功能

第一步:将以下代码添加到我们主题的functions.php 文件中。

  1. //历史上的今天,代码来自柳城博主的WP-Today插件
  2. function wp_today(){
  3.     global $wpdb;
  4.     $post_year = get_the_time('Y');
  5.     $post_month = get_the_time('m');
  6.     $post_day = get_the_time('j');
  7.     $sql = "select ID, year(post_date_gmt) as h_year, post_title,  
  8. comment_count FROM 
  9.             $wpdb->posts WHERE post_password = '' AND  
  10. post_type = 'post' AND post_status = 'publish'
  11.             AND year(post_date_gmt)!='$post_year' AND  
  12. month(post_date_gmt)='$post_month' AND day(post_date_gmt)='$post_day'
  13.             order by post_date_gmt DESC limit 5";
  14.     $histtory_post = $wpdb->get_results($sql);
  15.     if$histtory_post ){
  16.         foreach$histtory_post as $post ){
  17.             $h_year = $post->h_year;
  18.             $h_post_title = $post->post_title;
  19.             $h_permalink = get_permalink( $post->ID );
  20.             $h_comments = $post->comment_count;
  21.             $h_post .=
  22. "<li><strong>$h_year:</strong>&nbsp;&nbsp;<a href='".$h_permalink."'  
  23. title='".$h_post_title."' target='_blank'>$h_post_title($h_comments) 
  24. </a></li>";
  25.         }
  26.     }
  27.     if ( $h_post ){
  28.         $result = "<ul>".$h_post."</ul>";
  29.     }
  30.     return $result;
  31. }

第二步:添加一个文本小工具到正文侧边栏中,然后在该文本小工具的标题中输入:历史上的今天,在内容中输入以下代码并保存:

  1. <?php echo wp_today(); ?>

具体如下图所示:

如何让WordPress侧边栏实现历史上的今天(两个版本)1

保存成功后,即可在我们正文的侧边栏看到历史上的今天相关的文章。这个版本只可以添加到正文的侧边栏中。

Unite主题侧边栏显示历史上的今天效果图如下:

如何让WordPress侧边栏实现历史上的今天(两个版本)2

 二、侧边栏实现针对现实的时间而言的历史上今天功能

其实这个步骤跟“侧边栏实现针对某篇文章的发布日期而言的历史上今天功能”是一样的,代码也差不多,只需要将以下代码:

  1. $post_year = get_the_time('Y');
  2. $post_month = get_the_time('m');
  3. $post_day = get_the_time('j');

改为:

  1. $post_year = date('Y');
  2. $post_month = date('m');
  3. $post_day = date('j');

即可。这个版本是可以添加到整站的侧边栏中,没有任何限制。

温馨提示:

如果站点的文章量不多,不建议在侧边栏实现历史上的今天这个功能,因为如果没有符合的文章,侧边栏就只显示一个标题:历史上的今天,这样看起来有点不爽,不介意的除外。所以在此建议大家还是把历史上的今天这个功能放在文章后面比较实在,具体可见《WordPress网站纯代码添加历史上的今天功能》这篇文章。

如果文章对你有帮助,请赞赏支持boke112导航发展!

本文地址:http://boke112.com/2835.html
文章标签: ,  
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:aiboke112
版权声明:本文为原创文章,版权归  所有,欢迎分享本文,转载请保留出处!
WordPress/zblogPHP免费响应式博客主题Blogs

 发表评论


  1. 静松太极拳
    静松太极拳 【状元】 @回复

    功能好棒啊

  2. 东皇太一
    东皇太一 【书童】 @回复

    一个好功能啊

  3. 好文章
    好文章 【尚书】 @回复

    这个比较能折腾的啊

  4. Koolight
    Koolight 【尚书】 @回复

    等网站再坚持久点,再添加这个。

  5. 搬瓦工
    搬瓦工 【书童】 @回复

    昨天的文章看过了,收获颇大,今天继续学习,这么好帖子,必须回复,感谢!

  6. 米粒博客
    米粒博客 【举人】 @回复

    不错 很实用

  7. 三月福利吧
    三月福利吧 【状元】 @回复

    代码收藏,感谢分享!!!

  8. 最新电影
    最新电影 【尚书】 @回复

    好久都没有来留下脚印了

  9. 小C博客
    小C博客 【进士】 @回复

    不错!!不过我文章有点少现在还用不上!!

  10. 大学问社区
    大学问社区 【进士】 @回复

    学习下

  11. 网际电脑
    网际电脑 【状元】 @回复

    坚持每天一天

  12. 玉满斋
    玉满斋 【尚书】 @回复

    学习了!谢谢分享!

  13. 明月登楼
    明月登楼 【王爷】 @回复

    不错,有空要研究一下!

  14. 钓鱼小站
    钓鱼小站 【进士】 @回复

    好像上次就发了吧 不过get一下