Autres tutoriels sur le sujet
- Soumettre des contenus WordPress sur mesure avec Gravity Forms et ACF
- WordPress :: Créer un widget Text Rotator avec ACF Pro et ACF Widgets
- WordPress :: Créer un widget Slick Slider avec ACF Pro et ACF Widgets
- WordPress :: Créer un widget avec ACF Pro et ACF Widgets
- WordPress :: Utiliser le champ Image d’ACF dans vos thèmes
- WordPress :: Comment forcer l’activation d’Advanced Custom Fields (ACF)
- ACF Pro :: Ajouter des pages d’options WordPress
- WordPress :: Réduire les dépendances d’Avanced Custom Fields
- WordPress :: Utiliser les cases à cocher d’Avanced Custom Fields (ACF)
- WordPress :: Créer des articles relatifs avec Advanced Custom Fields (ACF)
- WordPress :: Utilisation basique d’Advanced Custom Fields (ACF)
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.
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.
Enjoy!!