A-A+

WordPress添加“历史上的今天”功能(免插件)

2018年07月23日 wordpress WordPress添加“历史上的今天”功能(免插件)已关闭评论 阅读 3,632 次浏览 次

当我们的WordPress博客历史越来越悠久后,我们就会发现,在N年前的今天,我们也曾经发表了某某文章。而今天就来教大家如何于WordPress文章内添加上“历史上的今天”功能,让站长和访客一同体会网站历史

在模板的function.php最下面,也就是“?>”之前添加下面代码即可实现:

function wp_history_post_base($post_year, $post_month, $post_day){
	global $wpdb;
	$limit = 30;
	$order = "latest";
	if($order == "latest"){ $order = "DESC";} else { $order = '';}
	$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 $order limit $limit";
	$histtory_post = $wpdb->get_results($sql);
	return $histtory_post;
}
 
function wp_history_post_single(){
	$wp_history_post_content_list = '

%YEAR%年:%TITLE%(%COMMENTS_NUM%条评论)

'; $wp_history_post_content_title = '

历史上的今天

'; $histtory_post = wp_history_post_base(get_the_time('Y'), get_the_time('m'), get_the_time('j')); 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 .= $wp_history_post_content_list; $h_post = str_replace("%YEAR%", $h_year, $h_post); $h_post = str_replace("%LINK%", $h_permalink, $h_post); $h_post = str_replace("%TITLE%", $h_post_title, $h_post); $h_post = str_replace("%COMMENTS_NUM%", $h_comments, $h_post); } } if($h_post){ $result = $wp_history_post_content_title.$h_post; } return $result; wp_reset_query(); } function wp_history_post_content($content){ global $wpdb; if(is_single()){ $content .= wp_history_post_single(); } return $content; } add_action('the_content', 'wp_history_post_content');

刷新所有的缓存,即可实现,赶紧试试吧

标签:

评论已关闭!

Copyright © 海边拾贝 保留所有权利.   Theme  Ality 鲁ICP备17020531号-1
网站已运行: | 耗时 0.468 秒 | 查询 53 次 | 内存 29.88 MB

用户登录