将时间戳转换为 Wordpress 默认语言


Convert timestamp to Wordpress default language

当我试图推出元数据时,我遇到了语言障碍。

$string_date = implode (';', get_post_meta( get_the_ID(), 'dbt_opleverdatum' ) );
$format =  get_option( 'date_format' );
$string_date = date($format, $string_date)

由于我将元数据保存为 php 时间戳,因此例如将其作为1451865600保存(即 2016 年 1 月 4 日)。我把它捡起来,然后通过日期戳把它放出来,它为我放下4 January 2016

但是,整个网站都是用荷兰语运行的,当我查看代码时,我注意到检索发布日期的函数get_the_date()。但这会输出4 januari 2016因为这是通过 Wordpress 中的设置进行的。它注意到wordpress是荷兰语的,并考虑到了这一点。

有没有一个函数,我也可以把我的PHP日期放进去,所以我的日期会用荷兰语而不是英语显示?

来自:

http://php.net/manual/en/function.date.php:

要格式化其他语言的日期,您应该使用 setlocale() 和 strftime() 函数而不是 date()。

$ts = 1451865600;
$lang = get_option('WPLANG');
setlocale(LC_TIME, $lang);
$format2 = '%e %B %G';
$string_date = strftime($format2, $ts);

不幸的是,我不知道如何将选项中的date_format转换为 strftime 的格式字符串,但如果它是您的插件,那么您可以将其更改为 strftime 的格式,或者如果您在其他地方也使用它,然后为此添加另一个选项。

注意:使用 setlocale 会全局更改语言环境,因此可能需要在调用 strftime 后恢复 chage:

$current_locale = setlocale(LC_TIME, "0");
setlocale(LC_TIME, $lang);
...
setlocale(LC_TIME, $current_locale);