当我试图推出元数据时,我遇到了语言障碍。
$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);