web-dev-qa-db-ja.com

Get_post_timeをdate_i18n関数と統合する方法

私は日付フォーマットがあり、date_i18n関数で他の言語に翻訳したいと思います。ここで私のコードはget_post_timeとどのように統合できますか。

$time = get_post_time('F j, Y', true,$newspost['ID']);
7
Decneo

get_post_time()に4番目のパラメーターを使用します。

$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()は同じ引数で動作します。

9
fuxia