问题描述
我有日期格式,并希望用 date_i18n
功能翻译成另一种语言如何与 get_post_time 集成在这里是我的代码:
$time = get_post_time('F j, Y', true,$newspost['ID']);
最佳解决方案
使用 get_post_time()
的第四个参数:
$time = get_post_time(
'F j, Y', // format
TRUE, // GMT
get_the_ID(), // Post ID
TRUE // translate, use date_i18n()
);
get_post_time()
内部调用 mysql2date()
,它通过 $translate
参数。在 mysql2date()
中,我们发现:
if ( $translate )
return date_i18n( $format, $i );
所以,你需要的是一个单一的 TRUE
。
要进行测试,请尝试:
add_filter( 'the_content', 'wpse_100266_i18n_time' );
/**
* Prepend the post content with translated post time.
*
* @wp-hook the_content
* @param string $content
* @return string
*/
function wpse_100266_i18n_time( $content )
{
$time = get_post_time(
'F j, Y', // format
TRUE, // GMT
get_the_ID(), // Post ID
TRUE // translate, use date_i18n()
);
return "<p>$time</p>$content";
}
然后安装至少一种其他语言和插件 WCM User Language Switcher 。查看前端,当我们切换语言时,我们会获得不同的月份名称。
get_post_modified_time()
使用相同的参数。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。