之前写过一篇 WordPress 主题添加最新更新文章列表功用 的文章,能够很好地处理老文章更新后无法及时展现的问题。但是关于一些没有更新的老文章照旧不能很好地展现,特别是随着建站时间增长,一些之前写过的文章逐步被湮没在历史的角落里。为了能更好地展现这些文章,我们能够在文章页面下添加一个“历史上的今天”功用获取老文章列表予以展现。
该功用代码取至柳城大佬的 wp-today 插件,该插件因年久失修曾经在 WordPress 下架了。不过我从网上搜到的版本经测试照旧能用,文末会提供下载。在原有插件代码的根底上,我稍微调整了下,并针对 OptionsFrameWork 后台框架,做了些设置选项。(留意:历史上的今天功用,仅针对建站一年以上的网站有效,时间太短的网站也就不存在历史上的今天了不是吗?ㄟ( ▔, ▔ )ㄏ )
功用中心文件
新建一个名为 module_today_in_history.php 的文件,然后将以下代码丢到改文件中。
<?php //历史上的今天,代码来自柳城博主的 WP-Today 插件 function today_in_history(){ $title = QGG_options('today_in_history_title'); // $title = "历史上的今天"; 其他主题用户改成固定值 $limit = QGG_options('today_in_history_num'); // $limit = 5; 其他主题用户改成固定值 global $wpdb; $post_year = get_the_time('Y'); $post_month = get_the_time('m'); $post_day = get_the_time('j'); $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 DESC limit $limit"; $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_comments = $post->comment_count; $h_post .= "<li>$h_year: <a href='".$h_permalink."' title='Permanent Link to ".$h_post_title."'>$h_post_title <span>($h_comments)</span></a></li>"; } } if ( $h_post ){ $result = "<section class='history-in-today'><h2>".$title."</h2><div><ul>".$h_post."</ul></div></section>"; }else{ $result = "<section class='history-in-today'><h2>".$title."</h2><div>哇哦~~~,历史上的今天没发表过文章哦</div></section>"; } echo $result; } today_in_history(); ?>
前端调用代码
然后在你需求调用的位置添加如下代码,普通是主题的 single.php 文件中。
<?php // 历史上的今天功用 if( QGG_options('today_in_history_open') ){ include get_stylesheet_directory(). '/diy/modules/module_today_in_history.php'; } ?>
其他主题的话,假如不需求后台设置选项,去掉 if 判别即可。
后台设置选项
最后,关于运用 OptionsFramework 框架的主题用户,可在 options.php 文件中添加如下代码设置后台选项。
<?php /** *蝈蝈文章 */ $options[] = array( 'name' => __('蝈蝈文章', 'QGG'), 'type' => 'heading' ); // 文章页历史上的今天 $options[] = array( 'name' => __('历史上的今天', 'QGG'), 'desc' => __('开启', 'QGG'), 'id' => 'today_in_history_open', 'std' => true, 'type' => 'checkbox'); $options[] = array( 'name' => __('历史上的今天-标题文字', 'QGG'), 'desc' => __('左上角的标题文字', 'QGG'), 'id' => 'today_in_history_title', 'std' => __('历史上的今天', 'QGG'), 'type' => 'text'); $options[] = array( 'name' => __('历史上的今天-显现文章数', 'QGG'), 'desc' => __('纯数字,显现列表文章数量。不明白?<a href="https://blog.quietguoguo.com">点击这里</a> 停止留言。', 'QGG'), 'id' => 'today_in_history_num', 'std' => 5, 'class' => 'mini', 'type' => 'text'); ?>
款式文件的话没有调整,大家依据本人爱好自行调整一下吧。
感谢您的来访,获取更多精彩文章请收藏本站。
![](https://www.gyzsq.com/wp-content/uploads/2022/07/9259adea4619.gif)
© 版权声明
本站网络名称:
孤勇者社区
本站永久网址:
https://www.gyzsq.com
网站侵权说明:
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ324470778删除处理。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
喜欢就支持一下吧
相关推荐
评论 抢沙发
![头像](/wp-content/themes/zibll/img/avatar-default.png)
欢迎您留下宝贵的见解!