网站创建一年多了,文章也有500多篇了,如何让历史文章多个展现的机会,除了相关文章推荐,站长们还经常会用到“历史上的今天”功能,即在文章末端调用前几年同一天发布的文章列表。
这个功能最初是由柳城创建的 wp-today 插件实现的,这个插件已经停更多年了,其核心代码也不复杂,我们可以复制里面的代码到 WordPress 网站主题的 functions.php 文件里。
//历史上的今天,代码来自柳城博客的WP-Today插件
function wp_today(){
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 5";
$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><strong>$h_year:</strong> <a href='".$h_permalink."' title='".$h_post_title."' target='_blank'>$h_post_title($h_comments)</a></li>";
}
}
if ( $h_post ){
$result = "<hr><h3>历史上的今天:</h3><ul>".$h_post."</ul>";
}
return $result;
}
function wp_today_auto($content){
if( is_single() ){
$content = $content.wp_today();
}
return $content;
}
add_filter('the_content', 'wp_today_auto',9999);
实现的效果如下图
“历史上的今天”模块,调取了历史上同一天的文章列表,标注了年份,文章标题、链接和评论数,你的网站建站时间越长,则越有价值。
前几天网站的 Autumn Pro 主题进行了升级,更新后函数文件 functions.php 中自加的代码都被清空了,让我对主题更新又爱又恨。发现之前苏醒的方法挺不错,他开发的主题会在 functions.php 中引用一个子函数文件,用户自己添加的代码就写在这个文件中,这样主题升级时就不会被清空了。
目前我的主题函数中自加的代码共三个,另两个是:
- 评论框展示古诗词名句
如何为 WordPress 个人博客评论框添加古诗词名句? - 屏蔽纯英文垃圾评论
WordPress 纯代码拦截英文、日文垃圾评论的方法
之前好多博主那都看到过这个功能
@网友小宋 一个小功能,但确实挺有用,特别是对建站时间久的博客来说,可以把沉睡的文章推送到前台来。
不错!
话说,如果这段代码不长,那相应的插件应该不大。如果用代码,忘记的话,下次如果主题升级,是不是又没有了。不过记录下来,就容易找到了。
@飞牛 我的许多博文也就是起收藏夹的作用,方便自己应用,哈哈。
@maqingxi 确实,我也是把修改的记录下来,方便以后,哪怕出问题也方便找原因。
对了,有空换个友链,方便互访交流。以前的yseeker换过友链后,现在你这新博客总是输入你的网址,有时候还输入错munie,哈哈。
@飞牛 好的呢,已经添加友情链接。
厉害厉害,学习了
博主这主题风格挺好,好心水,最近在建自己的博客,方便告知下主题名称吗?
@C先生 使用的是Autumn-Pro主题,一款优秀的付费主题,目前有活动,你可通过此链接优惠购买。https://www.xintheme.com/theme/57904.html?ref=142
@maqingxi 嗯呐,十分感谢!