問題描述

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