問題描述
我有日期格式,並希望用 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。