侵权勿怪。
话说这东东实在是忘记了从哪个插件的代码里扒出来的,自己改良了一番。却没想到有人感兴趣。就简单说一说用法吧。
首先,把下面这个函数粘贴到function.php里
function history_today($post_year, $post_month,$post_day ){ global $wpdb; //SQL语句里的项目可以随意改良,想要加什么效果请在主贴回复,@lifishake愿意为你服务 $sql = "select ID, year(post_date_gmt) as h_year, post_title, comment_count FROM $wpdb->posts WHERE post_password = '' AND post_type = 'post' AND post_status = 'publish' AND year(post_date_gmt)!='$post_year' AND month(post_date_gmt)='$post_month' AND day(post_date_gmt)='$post_day' order by post_date_gmt"; $histtory_post = $wpdb->get_results($sql); if( $histtory_post ){ foreach( $histtory_post as $post ){ $h_year = $post->h_year; $h_post_title = $post->post_title; $h_permalink = get_permalink( $post->ID ); //注意下边,输出的格式可以自行调整,不愿意加年的把$h_year去掉即可 $h_post .= "<li>$h_year: $h_post_title</li>"; } } $content=''; if ( $h_post ){ $content = $content.$h_post; } echo $content; return $content; }
对于这个函数,我在现在的主题中两处用到了它。
第一个是用在calendar的下方。
<li><?php get_calendar(); ?></li> <?php $post_year = date('Y'); $post_month = date('m'); $post_day = date('j'); history_today($post_year, $post_month, $post_day); ?>
其实这个用法是假的,跟calendar一点儿关系都没有,即使点击calendar进了archive里,显示的也还是历史上的“今天”,因为date()取出来的就是今天。我只不过是觉得把“历史上的今天”放在那个位置比较合适而已。
至于“历史上的帖子发出的那一天”,用法是这样的:
如果在single里直接调用,那么照下边的样式粘贴:
<?php echo '<h3>历史上的今天:</h3>' ; $post_year = get_the_time('Y'); $post_month = get_the_time('m'); $post_day = get_the_time('j'); history_today($post_year, $post_month, $post_day); ?>
如果是在singlesidebar里,则要多加一个是否是single的判断条件:
<?php if ( is_single() ){ echo '<h3>历史上的今天:</h3>' ; $post_year = get_the_time('Y'); $post_month = get_the_time('m'); $post_day = get_the_time('j'); history_today($post_year, $post_month, $post_day);} ?>
备注:
此代码实现的其实是“历史上不是这一年的月日相同的这一天”。如果真要实现的话,把第一段代码中的
year(post_date_gmt) != '$post_year'
改成
year(post_date_gmt) < '$post_year'
即可。
Q&A:
留着答疑。
这样调用蛮常用的
我终于明白为什么一直调不出来了= =
我应该用calendar方法的结果一直在跟single方法拼命。。我太2了!
成功了……我把调用函数放在了随机日志的下面,试了无数次只是带年份的随机日志……调在随机的上面了……就正常了= =
多谢啊多谢o(∩_∩)o
貌似一个叫柳成的人还是谁 做过这个插件。。
天· 这次是不懂了 好专业·····
我记得柳城写过插件,不过我更喜欢非插件的,哈哈
用这个方法恶搞?
恶搞谁?
插与不插,不过一念之间.
非插件是王道啊~
初看还以为是历史上的今天都发生了什么大事呢。。。
那种插件也是有的.不过因为维基被封,所以使用普及率甚低.
围观哈子
主题在IE6下,有些错乱。
看过,忘了哪个插件
网上好像有这类的代码,好像互动百科都有的吧,没有用过
博客很漂亮啊!~文章写的有好,。。。顶
没看到那个大大的警告吗,早就放弃IE6了
个人认为把这样的代码放在自己的网站上是一种累赘。
各有所好呗。我就喜欢去别人站上刨坟。
那个,我试用后,发现列出的文章发表日期有些不是历史上的今天的。什么问题?
你莫不是把代码放在了随机日志的后面?
放在隨機日誌的前面。
唔,那就不知道了。我当时遇到这个问题是把它放在后面的时候会随机,放在之前就正常了。
是不是你发表了之后又有修改啊?
没有啊,一次过的
=。=
难道是我RP爆发了…..
你直接上mysqladmin上把那段代码执行一下,单引号里的内容用随便哪天的年月日代替一下,看看出来的东西是不是对的,如果对,那就是代码可能跟你的其他插件有冲突,如果不对,可能是修改日期或者时区捣的鬼.