为你的 WordPress 站点添加”历史上的今天”功能

小村上空升起袅袅炊烟,好像一个身穿白纱的少女在翩翩起舞,在夕阳的照耀下婀娜多姿。

看到有些网站添加了“历史上的今天”这个功能,今天一起来分享如何为你的 WordPress 站点添加这个功能。

使用代码DIY

第一步:先下载我写的XML文件,里面有12个XML文件,对应12个月份,之所以12个文件也是为了日后的维护方便和读取数据的速度更加快速。如果要修改历史内容,直接编辑 xml 文件即可。

第二步:将下载好的12个XML文件放到你的网站根目录

第三步:在你当前主题的 functions.php 文件中追加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function dateFromClmao(){
	date_default_timezone_set('PRC');
	$i=date('n',time());
	$filename='today'.$i.'.xml';
	$xml=simpleXML_load_file($filename);
	$todaytime="date".date("n\mj\d",time());
	return $xml->$todaytime->date;
}

function eventFromClmao(){
	date_default_timezone_set('PRC');
	$i=date('n',time());
	$filename='today'.$i.'.xml';
	$xml=simpleXML_load_file($filename);
	$todaytime="date".date("n\mj\d",time());
	return $xml->$todaytime->event;
}

function dateFromClmao(){ date_default_timezone_set('PRC'); $i=date('n',time()); $filename='today'.$i.'.xml'; $xml=simpleXML_load_file($filename); $todaytime="date".date("n\mj\d",time()); return $xml->$todaytime->date; } function eventFromClmao(){ date_default_timezone_set('PRC'); $i=date('n',time()); $filename='today'.$i.'.xml'; $xml=simpleXML_load_file($filename); $todaytime="date".date("n\mj\d",time()); return $xml->$todaytime->event; }

第四步:在你想输出”历史上的今天的地方”的模板文件地方如此,样式自己添加

1
2
<?php echo dateFromClmao(); ?> //这个是输出时间,如果当天是节日,会显示成”4月1日 愚人节”
<?php echo eventFromClmao(); ?> //这个是历史事件,如显示成”1945年,美军开始大规模轰炸日本本土。”

<?php echo dateFromClmao(); ?> //这个是输出时间,如果当天是节日,会显示成”4月1日 愚人节” <?php echo eventFromClmao(); ?> //这个是历史事件,如显示成”1945年,美军开始大规模轰炸日本本土。”

可以看看下面的效果:

以上内容出自:http://www.clmao.com/?p=759

倡萌补充:看了一下上面的两个函数,大体一样,所以简单综合下,可以写成一个函数,添加一个参数判断:

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
 * 为你的 WordPress 站点添加”历史上的今天”功能
 * https://www.wpdaxue.com/today-in-history.html
 */
function wpdx_today_in_history($type){
	date_default_timezone_set('PRC');
	$i=date('n',time());
	$filename='today'.$i.'.xml';
	$xml=simpleXML_load_file($filename);
	$todaytime="date".date("n\mj\d",time());
	if($type = 'date') return $xml->$todaytime->date;
	elseif ($type = 'event') return $xml->$todaytime->event;
}

/** * 为你的 WordPress 站点添加”历史上的今天”功能 * https://www.wpdaxue.com/today-in-history.html */ function wpdx_today_in_history($type){ date_default_timezone_set('PRC'); $i=date('n',time()); $filename='today'.$i.'.xml'; $xml=simpleXML_load_file($filename); $todaytime="date".date("n\mj\d",time()); if($type = 'date') return $xml->$todaytime->date; elseif ($type = 'event') return $xml->$todaytime->event; }

将上面的代码添加到当前主题的 functions.php 即可,调用方法如下:

1
2
<?php if(function_exists('wpdx_today_in_history')) echo wpdx_today_in_history('date'); ?> //这个是输出时间,如果当天是节日,会显示成“4月1日 愚人节”
<?php if(function_exists('wpdx_today_in_history')) echo wpdx_today_in_history('event'); ?> //这个是历史事件,如显示成“1945年,美军开始大规模轰炸日本本土。”

<?php if(function_exists('wpdx_today_in_history')) echo wpdx_today_in_history('date'); ?> //这个是输出时间,如果当天是节日,会显示成“4月1日 愚人节” <?php if(function_exists('wpdx_today_in_history')) echo wpdx_today_in_history('event'); ?> //这个是历史事件,如显示成“1945年,美军开始大规模轰炸日本本土。”

其实还可以再综合一下,直接写成一个函数调用,同样添加到主题的 functions.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
 * 为你的 WordPress 站点添加”历史上的今天”功能
 * https://www.wpdaxue.com/today-in-history.html
 */
function wpdaxue_today_in_history(){
	date_default_timezone_set('PRC');
	$i=date('n',time());
	$filename='today'.$i.'.xml';
	$xml=simpleXML_load_file($filename);
	$todaytime="date".date("n\mj\d",time());
	echo '
		<div class="history-today">
			<p class="history-date">'.$xml->$todaytime->date.'</p>
			<p class="history-event">'.$xml->$todaytime->event.'</p>
		</div>
	';
}

/** * 为你的 WordPress 站点添加”历史上的今天”功能 * https://www.wpdaxue.com/today-in-history.html */ function wpdaxue_today_in_history(){ date_default_timezone_set('PRC'); $i=date('n',time()); $filename='today'.$i.'.xml'; $xml=simpleXML_load_file($filename); $todaytime="date".date("n\mj\d",time()); echo ' <div class="history-today"> <p class="history-date">'.$xml->$todaytime->date.'</p> <p class="history-event">'.$xml->$todaytime->event.'</p> </div> '; }

然后使用下面的代码,就可以直接输出日期和事件:

1
<?php if(function_exists('wpdaxue_today_in_history')) wpdaxue_today_in_history(); ?>

<?php if(function_exists('wpdaxue_today_in_history')) wpdaxue_today_in_history(); ?>

使用 This Day In History 插件

如果你嫌折腾代码麻烦,可以下载安装 This Day In History 插件,这个插件允许你在WP后台自己添加日期和事件(似乎是个不小的工作量),然后通过小工具调用。

在后台插件安装界面搜索 This Day In History 即可在线安装,或者在这里下载 This Day In History

到此这篇关于为你的 WordPress 站点添加&rdquo;历史上的今天&rdquo;功能就介绍到这了。路只能走一步是一步,因为明天难以预测,过去已成定局,除了把握好当下,其实别无它。更多相关为你的 WordPress 站点添加&rdquo;历史上的今天&rdquo;功能内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

标签: 历史 WordPress