web-dev-qa-db-fra.com

Comment intégrer get_post_time à la fonction date_i18n?

J'ai le format de date et je voudrais traduire dans une autre langue avec la fonction date_i18n. Comment puis-je intégrer avec get_post_time? Voici mon code:

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

Utilisez le quatrième paramètre pour 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() appelle mysql2date() en interne et transmet l'argument $translate. Dans mysql2date() on trouve ceci:

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

Donc, tout ce dont vous avez besoin est une seule TRUE.

Pour un test, essayez ceci:

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

Puis installez au moins une autre langue et le plugin Sélecteur de langue utilisateur WCM . En regardant le début, nous obtenons des noms de mois différents lorsque nous changeons de langue maintenant.

get_post_modified_time() fonctionne avec les mêmes arguments.

9
fuxia