Como integrar get_post_time com a função date_i18n?

8

Eu tenho formato de data e gostaria de traduzir para outro idioma com a função date_i18n . Como posso integrar com get_post_time aqui está o meu código:

$time = get_post_time('F j, Y', true,$newspost['ID']);
    
por Decneo 22.05.2013 / 02:08

1 resposta

10

Use o quarto parâmetro para 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() chama mysql2date() internamente e passa o argumento $translate . Em mysql2date() , encontramos isso:

if ( $translate )
    return date_i18n( $format, $i );

Então, tudo que você precisa é de um único TRUE .

Para um teste, tente isto:

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";
}

Em seguida, instale pelo menos um outro idioma e o plugin Switcher de idioma do usuário WCM . Visualizando o front-end, obtemos nomes de mês diferentes quando mudamos o idioma agora.

get_post_modified_time() funciona com os mesmos argumentos.

    
por fuxia 22.05.2013 / 06:22