自定义 WordPress 时间显示格式
刚接触 WordPress ,从模板的修改做起,查阅乐官方的相关文档,总算是把时间显示为想要的格式了。于是将获得的一些信息记下,供备忘,亦供朋友们参考。新人出品,必有疏漏,还望指正。
WordPress 通过一系列的时间日期函数控制时间日期的输出,下面介绍几个常用的函数:
1、the_date_xml() 函数
调用格式:<?php the_date_xml(); ?>
输出格式:YYYY-MM-DD
如:2005-05-14
2、the_date() 函数
说明:此 函数一般用于显示时间日期。根据官方文档的说法,当一个页面上有多篇发布于同一天的档案时,the_date() 函数仅在最先引用处显示,在这种情况下最好使用 the_time() 函数。见:http://codex.wordpress.org/Template_Tags/the_date
调用格式:<?php the_date(‘format’, ‘before’, ‘after’, echo); ?>
参数表:
format:(字符串型)定义时间日期格式的参数。
before:(字符串型)日期前放置的文本,无缺省值。
after:(字符串型)日期后放置的文本,无缺省值。
echo:(布尔型)显示日期 (TRUE),或返回供 PHP 使用的日期(FALSE)。缺省值为 TRUE。
3、the_time() 函数
说明:此函数用于显示时间日期。根据官方文档的说法,此函数必须被使用在循环内。见:http://codex.wordpress.org/Template_Tags/the_time
调用格式:<?php the_time(‘format’); ?>
参数表:
format:(字符串型)定义时间日期格式的参数。
4、get_the_time() 函数
说明:根据官方文档的说法,此函数仅向 PHP 返回时间信息,并不显示时间日期,且必须被使用在循环内。见:http://codex.wordpress.org/Template_Tags/get_the_time
调用格式:<?php get_the_time(‘format’); ?>
参数表:
format:(字符串型)定义时间日期格式的参数。
以上三个函数format 参数可以使用的各项值:
a = 一般在12小时制显示时使用,显示当前是 am(上午)或 pm(下午)
A = 功能同上,区别是 am 或 pm 为大写
d = 一月中的哪一天,固定以两位数显示
F = 文字全称表示的月份
g = 12小时制的小时数,位数根据实际的时间决定
G = 24小时制的小时数,位数根据实际的时间决定
h = 12小时制的小时数,固定以两位数显示
H = 24小时制的小时数,固定以两位数显示
注:如当前时间是早上8点,用 h 参数输出的结果为 08,用 g 参数输出的结果为 8,换成大写后仅改变时制。
i = 当前分钟数
I = 输出一个零,不知何用,望知道的兄弟指教。(大写 i)
j = 一月中的哪一天,位数根据实际的日期决定
l = 文字表示的星期(小写 L)
L = 输出一个零,不知何用,望知道的兄弟指教。
m = 数字表示的月份
M = 英文缩写的月份
s = 当前秒数
S = 一般跟随参数 j 使用,效果是在天数后加上序数词后坠(st, nd ,rd 等)
Y = 4位数的年份
y = 2位数的年份
注:参数区分大小写,写在参数引号内的非参数字符不做处理,直接输出。
例如,以下格式字串:
l, F j, Y
将生成如下格式的日期:
星期五, 九月 24, 2004
5、single_month_title() 函数
调用格式:<?php single_month_title(‘prefix’, display) ?>
参数表:
prefix:年和月的前缀
输出格式:prefix + MONTH + prefix + YEAR
如prefix 参数为”*”,显示结果将会是如下的样子:
*February*2004
不是我需要的。
谢了,太详细了,酋长大人是个细心的人,呵呵
你好,我想请问一下:
我的博客里,l输出的不是中文星期一等等,而是英文Monday,是什么原因呢?
是因为我用的是英文版的WORDPRESS吗?
@ WalltzLee WordPress的default模板你可以在single.php里看到:
只要按照上面文章中的第四点修改成:就OK了。
问酋长个问题,我调用’M jS, Y h:i a’以后,输出的是中文“九月 16th, 2008 01:58 下午”(按照说明,这里的M应该是英文缩写)
怎么才能让它变成英文呢?
请赐教啊,呵呵~
@dogorgod 因为你用的中文版,用24小时制就可以了
@辐射鱼
哦,那我赶紧回去试试~多谢啊
不错哦,记下了!