WordPress : afficher une date en français dans son thème

Afficher une date en français dans WordPress ne nécessite ni traduction manuelle des mois, ni manipulation de la locale du serveur. WordPress dispose de wp_date(), une fonction native qui localise les dates selon la langue du site et respecte son fuseau horaire.

Dans la plupart des cas, une seule ligne suffit donc pour obtenir une date comme 30 août 2026. Si WordPress utilise une autre langue mais que vous souhaitez forcer ponctuellement le français, PHP propose également IntlDateFormatter.

Distingo, le livret à 2%

Afficher une date en français avec wp_date()

Pour un site WordPress configuré en français, utilisez en priorité la fonction native wp_date() :

<?php
echo esc_html( wp_date( 'j F Y' ) );Langage du code : HTML, XML (xml)

Avec une installation utilisant la locale française, WordPress affiche par exemple :

30 août 2026

Pour inclure le jour de la semaine :

<?php
echo esc_html( wp_date( 'l j F Y' ) );Langage du code : HTML, XML (xml)

Le résultat devient :

dimanche 30 août 2026

wp_date() utilise les traductions chargées par WordPress. Elle tient également compte du fuseau horaire défini dans Réglages → Général.

Comprendre le format d’une date WordPress

Le premier argument de wp_date() utilise les caractères de formatage des dates PHP. Les plus utiles sont :

  • j : jour du mois sans zéro initial, par exemple 8 ;
  • d : jour du mois sur deux chiffres, par exemple 08 ;
  • l : nom complet du jour, par exemple dimanche ;
  • F : nom complet du mois, par exemple août ;
  • m : numéro du mois sur deux chiffres ;
  • Y : année sur quatre chiffres.

Vous pouvez donc adapter facilement le rendu :

<?php
echo esc_html( wp_date( 'j F Y' ) );     // 30 août 2026.
echo esc_html( wp_date( 'd/m/Y' ) );     // 30/08/2026.
echo esc_html( wp_date( 'l j F Y' ) );   // dimanche 30 août 2026.Langage du code : HTML, XML (xml)
Kinsta: Premium Managed WordPress hosting

Afficher en français la date de publication d’un article

Dans un thème, un plugin ou un bloc dynamique, vous aurez généralement besoin de la date d’un article plutôt que de la date actuelle.

WordPress fournit get_post_timestamp() pour récupérer le timestamp Unix correspondant à la publication :

<?php
/**
 * Display the current post publication date.
 */
$timestamp = get_post_timestamp();
if ( false !== $timestamp ) {
	echo esc_html( wp_date( 'j F Y', $timestamp ) );
}Langage du code : HTML, XML (xml)

Cette combinaison est particulièrement propre : get_post_timestamp() récupère le véritable timestamp Unix, puis wp_date() applique le fuseau horaire et la localisation WordPress.

Afficher la date de dernière modification en français

Pour récupérer la date de dernière modification, passez simplement modified comme second argument de get_post_timestamp() :

<?php
/**
 * Display the current post modified date.
 */
$timestamp = get_post_timestamp( null, 'modified' );
if ( false !== $timestamp ) {
	echo esc_html( wp_date( 'j F Y', $timestamp ) );
}Langage du code : HTML, XML (xml)

Cette information est particulièrement utile pour les guides techniques et les contenus evergreen. Une date de mise à jour visible aide le lecteur à évaluer rapidement la fraîcheur d’un tutoriel.

Kinsta: Premium Managed WordPress hosting

Créer un élément time sémantique

Lorsque la date apparaît dans le HTML d’une page, utilisez idéalement l’élément <time>. Vous obtenez ainsi une date lisible pour le visiteur et une valeur normalisée exploitable par les machines.

<?php
/**
 * Display a semantic publication date.
 */
$timestamp = get_post_timestamp();
if ( false !== $timestamp ) :
	?>
	<time datetime="<?php echo esc_attr( get_the_date( DATE_W3C ) ); ?>">
		<?php echo esc_html( wp_date( 'j F Y', $timestamp ) ); ?>
	</time>
	<?php
endif;Langage du code : HTML, XML (xml)

Le visiteur voit ainsi une date naturelle comme 30 août 2026, tandis que l’attribut datetime contient une représentation normalisée.

Afficher « Publié le » et « Mis à jour le »

Pour un article régulièrement actualisé, vous pouvez afficher les deux informations. Il vaut cependant mieux éviter de présenter comme une véritable mise à jour une correction effectuée quelques minutes après la publication.

Voici un exemple complet qui n’affiche la modification que lorsqu’au moins 24 heures séparent les deux dates :

<?php
/**
 * Display publication and meaningful modification dates.
 */
$published_timestamp = get_post_timestamp();
$modified_timestamp  = get_post_timestamp( null, 'modified' );
if ( false !== $published_timestamp ) :
	?>
	<p class="entry-dates">
		Publié le
		<time datetime="<?php echo esc_attr( get_the_date( DATE_W3C ) ); ?>">
			<?php echo esc_html( wp_date( 'j F Y', $published_timestamp ) ); ?>
		</time>
		<?php
		if (
			false !== $modified_timestamp
			&& $modified_timestamp > ( $published_timestamp + DAY_IN_SECONDS )
		) :
			?>
			· Mis à jour le
			<time datetime="<?php echo esc_attr( get_the_modified_date( DATE_W3C ) ); ?>">
				<?php echo esc_html( wp_date( 'j F Y', $modified_timestamp ) ); ?>
			</time>
		<?php endif; ?>
	</p>
	<?php
endif;Langage du code : HTML, XML (xml)

Cette approche fonctionne particulièrement bien sur un site éditorial. Elle permet de distinguer la date originale d’un article de sa dernière révision significative.

Codeable: trouvez les meilleurs développeurs WordPress

Comment forcer une date en français si WordPress est en anglais ?

wp_date() localise la date avec la locale actuellement chargée par WordPress. Si votre site fonctionne en anglais, elle ne doit donc pas servir à forcer arbitrairement une date française.

Pour afficher ponctuellement une date en français indépendamment de la langue de WordPress, utilisez IntlDateFormatter, fourni par l’extension PHP Intl.

<?php
/**
 * Format a Unix timestamp in French.
 *
 * @param int               $timestamp Unix timestamp.
 * @param DateTimeZone|null $timezone  Optional timezone.
 *
 * @return string Formatted date.
 */
function skyminds_format_date_fr(
	int $timestamp,
	?DateTimeZone $timezone = null
): string {
	$timezone ??= wp_timezone();
	if ( ! class_exists( IntlDateFormatter::class ) ) {
		return wp_date( 'j F Y', $timestamp, $timezone );
	}
	$formatter = new IntlDateFormatter(
		'fr_FR',
		IntlDateFormatter::NONE,
		IntlDateFormatter::NONE,
		$timezone,
		IntlDateFormatter::GREGORIAN,
		'd MMMM y'
	);
	$formatted = $formatter->format( $timestamp );
	if ( false === $formatted ) {
		return wp_date( 'j F Y', $timestamp, $timezone );
	}
	return $formatted;
}Langage du code : HTML, XML (xml)

Utilisez ensuite la fonction avec le timestamp de l’article :

<?php
$timestamp = get_post_timestamp();
if ( false !== $timestamp ) {
	echo esc_html( skyminds_format_date_fr( $timestamp ) );
}Langage du code : HTML, XML (xml)

Le résultat reste français même si WordPress utilise une autre langue :

30 août 2026

wp_date() ou IntlDateFormatter : que choisir ?

BesoinSolution
WordPress est configuré en françaiswp_date()
Afficher la date d’un articleget_post_timestamp() + wp_date()
Afficher la date de modificationget_post_timestamp( null, 'modified' ) + wp_date()
Forcer le français sur un WordPress dans une autre langueIntlDateFormatter
Respecter le fuseau horaire WordPresswp_timezone()

Pour la grande majorité des sites français, retenez surtout wp_date(). IntlDateFormatter devient intéressant pour les sites multilingues, les développements spécifiques ou les applications qui doivent contrôler explicitement la locale d’une date.

Vérifier la langue et le fuseau horaire de WordPress

Avant d’ajouter du code, vérifiez la configuration du site dans Réglages → Général.

  • Langue du site détermine notamment les traductions utilisées par WordPress ;
  • Fuseau horaire détermine l’heure locale appliquée aux dates.

Si tout le site doit être en français, configurez simplement WordPress en français. Il n’y a aucune raison de forcer individuellement la langue de chaque date.

Si votre problème concerne plus largement les chaînes traduites d’un thème ou d’une extension, consultez également mon guide pour mettre à jour les traductions WordPress avec Poedit. Il couvre les fichiers PO, MO et JSON ainsi que les traductions utilisées par Gutenberg.

Vérifier que PHP Intl est disponible

IntlDateFormatter nécessite l’extension PHP Intl. Si vous administrez votre serveur, vérifiez sa présence en ligne de commande :

php -m | grep -i '^intl$'Langage du code : JavaScript (javascript)

Vous pouvez aussi effectuer la vérification depuis PHP :

<?php
var_dump( class_exists( IntlDateFormatter::class ) );Langage du code : HTML, XML (xml)

Si vous modernisez parallèlement votre environnement PHP, consultez mon guide pour tester la compatibilité de WordPress avec PHP 8.4 et PHP 8.5. Une montée de version PHP mérite toujours de tester le thème, les extensions et les développements spécifiques avant le passage en production.

Où placer ce code dans WordPress ?

Évitez de modifier directement les fichiers d’un thème ou d’une extension tiers. Une mise à jour pourrait écraser vos changements.

Selon le projet, placez plutôt votre code dans :

  • un thème enfant si le comportement appartient réellement à la présentation ;
  • un plugin personnalisé pour une fonctionnalité propre au site ;
  • un MU-plugin pour une fonctionnalité qui doit rester active indépendamment du thème ;
  • un hook ou un filtre WordPress lorsque l’API concernée en fournit un.

Cette séparation facilite les mises à jour et évite de transformer votre thème en collection de modifications impossibles à maintenir.

Besoin d’un développement WordPress sur mesure ?

Vous devez modifier un thème, développer une fonctionnalité spécifique, corriger un bug ou moderniser du code WordPress existant ? Je développe des solutions WordPress propres, performantes et maintenables, sans empiler les rustines.

Questions fréquentes sur les dates WordPress en français

Comment afficher une date en français dans WordPress ?

Sur un WordPress configuré en français, utilisez wp_date(). Par exemple, wp_date( 'j F Y' ) produit une date comme « 30 août 2026 ».

Comment afficher le mois en français dans WordPress ?

Utilisez wp_date( 'F' ). Avec la locale française chargée par WordPress, la fonction retourne par exemple « août ».

Comment afficher le jour et le mois en français ?

Le format wp_date( 'l j F Y' ) affiche le nom du jour, le numéro du jour, le mois et l’année. Vous obtenez par exemple « dimanche 30 août 2026 ».

Comment afficher la date de publication d’un article WordPress ?

Récupérez son timestamp avec get_post_timestamp(), puis transmettez-le à wp_date(). Cette combinaison gère proprement le timestamp, le fuseau horaire et la localisation.

Comment afficher la date de dernière modification ?

Utilisez get_post_timestamp( null, 'modified' ) pour récupérer le timestamp de modification, puis formatez-le avec wp_date().

Comment forcer une date française sur un WordPress en anglais ?

Utilisez IntlDateFormatter avec la locale fr_FR. Vous pouvez ainsi localiser uniquement la date concernée sans changer la langue générale de WordPress.

Faut-il installer une extension WordPress pour traduire les dates ?

Non. WordPress sait nativement localiser les dates avec wp_date(). Pour imposer une locale différente de celle du site, PHP Intl fournit IntlDateFormatter.

Conclusion

Pour afficher une date en français dans WordPress en 2026, commencez par wp_date(). La fonction utilise la localisation WordPress et respecte le fuseau horaire configuré sur le site.

Pour la date d’un article, associez-la à get_post_timestamp(). Enfin, si votre site utilise une autre langue et qu’une date précise doit être forcée en français, utilisez IntlDateFormatter avec la locale fr_FR.

Ces API couvrent pratiquement tous les besoins de localisation des dates dans un développement WordPress moderne, sans dépendre de la configuration linguistique du système d’exploitation.

Laisser un commentaire