Créateur de thèmes WordPress :: Formateur :: Web Designer

ACF :: Créer une date Intertionalisable

Publié le : 

Modifié le : 

Par : 

Nous verrons dans ce tutoriel comment créer un champ de date dans ACF qui est internationalisable en fonction de la langue choisie dans le back-office. Ce tuto est inspiré de la documentation en ligne d’ACF.

Création du champ de date dans ACF

Je vais d’abord créé un champs date avec les réglages par défaut.

Capture: Installation du Champs date dans ACF

Afficher la date dans la boucle

D’abord, tous les formats de date disponibles dans WordPress sont dans le codex.

Enregistrement des données

Les données sont enregistrées sous la forme PHP car par défaut, ACF utilise un format jQuery.

<?php
$date_d = get_field('gn_date_debut');

// Extraire Y,M,D
$y = substr($date_d, 0, 4);
$m = substr($date_d, 4, 2);
$d = substr($date_d, 6, 2);

// Créer le format UNIX
$time_d = strtotime("{$d}-{$m}-{$y}");
?>
  • j’obtiens le résultat du champs avec la variable $date_d
  • j’extrais chaque partie de la date avec les trois variables qui suivent au format PHP
  • avec la variable $time_d, je créée la version Unix de la date avec toutes variables précédentes

Afficher les données

<p class="date_month">Du</p> 
<p class="date_day">
<?php echo date('d', $time_d); ?>
</p>            
<p class="date_month">
<?php echo date_i18n('M', $time_d); ?>
</p>
  • la première date n’a pas de format particulier car c’est un nombre
  • la deuxième date utilise la fonction date_i18n. Elle permet d’afficher la date au bon format si elle a utilisée le format Unix (voir plus haut avec la variable $time_d)

Résulat en ligne

Dans mon exemple en ligne, j’ai une date de début et une date de fin mais le principe reste le même dans les deux cas.

Capture: ACF résultat en ligne du champs date

Enjoy!!