经常看到一些网站的文章末尾有”历史上的今天“功能,一直以为展示的都是世界大事,今天才知道原来可以展示自己站内历史上的今天所发布的文章。那么这个功能其实可以让网站的历史文章多个展现的机会,除了相关文章推荐,这个功能也是一个不错的降低跳出率的方案。
网站添加历史上的今天功能:
历史上的今天最初是由柳城创建的 wp-today 插件实现的,这个插件已经停更多年了,但是我们可以使用里面的代码添加到 WordPress 网站主题的 functions.php 文件。
//历史上的今天 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);
历史上的今天效果如下:
另外,如果你看到这篇文章的时候,没有发现文章末尾有历史上的今天,不要惊讶,因为我添加这个功能之后,发现自己以前发布的文章都很2,羞愧啊,必须整改,整改完毕之后再放出来和大家见面。