自定义 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

类似文章

8条评论

  1. 你好,我想请问一下:
    我的博客里,l输出的不是中文星期一等等,而是英文Monday,是什么原因呢?
    是因为我用的是英文版的WORDPRESS吗?

  2. @ WalltzLee WordPress的default模板你可以在single.php里看到:

    只要按照上面文章中的第四点修改成:就OK了。

  3. 问酋长个问题,我调用’M jS, Y h:i a’以后,输出的是中文“九月 16th, 2008 01:58 下午”(按照说明,这里的M应该是英文缩写)

    怎么才能让它变成英文呢?

    请赐教啊,呵呵~

已关闭评论。