La fonction get_fields()
est un outil puissant dans l’univers de WordPress, particulièrement pour ceux qui utilisent le plugin Advanced Custom Fields (ACF) dans la création de sites internet.
Que vous soyez développeur débutant ou expérimenté, comprendre comment utiliser cette fonction peut transformer la manière dont vous gérez et affichez les données personnalisées sur votre site.
- Définition de la fonction get_fields()
- Les paramètres de la fonction get_fields()
- Utiliser get_fields() sur la publication actuelle
- Utiliser get_fields() sur un article précis
- Utiliser get_fields() sur un utilisateur
- Utiliser get_fields() sur une catégorie
- Utiliser get_fields() sur une taxonomie
- Utiliser get_fields() sur une page d’options d’ACF
- Exemples d’utilisation de la fonction get_fields()
Définition de la fonction get_fields()
La fonction get_fields()
est une fonction native d’Advanced Custom Fields (ACF) qui permet de récupérer l’ensemble des champs personnalisés (custom fields) associés à un post, une page, un utilisateur, ou tout autre type d’entité dans WordPress.
Contrairement à la fonction get_field()
qui ne renvoie qu’un seul champ, get_fields()
renvoie un tableau contenant tous les champs et leurs valeurs, ce qui en fait un outil extrêmement pratique pour les développeurs et webmasters WordPress cherchant à manipuler ou afficher un grand nombre de données à la fois.
Les paramètres de la fonction get_fields()
Pour utiliser cette fonction de manière optimale, il est essentiel de comprendre ses paramètres principaux.
get_fields([$post_id = false], [$format_value = true], [$escape_html = false]);
Voici un aperçu détaillé :
- $post_id (mixed) :
Ce paramètre permet de spécifier l’ID de l’objet à partir duquel vous souhaitez récupérer les champs personnalisés. Par défaut, si ce paramètre n’est pas renseigné,get_fields()
récupérera les champs de la publication actuelle dans la boucle WordPress. - $format_value (booléen) :
Ce paramètre détermine si les valeurs des champs doivent être formatées selon leur type de champ dans ACF. Par défaut, ce paramètre est défini surtrue
, ce qui signifie que les valeurs renvoyées seront automatiquement formatées pour correspondre au type de champ ACF. - $escape_html (booléen) :
Ce paramètre permet de renvoyer une version sécurisée pour le HTML des valeurs des champs. Cela signifie que les caractères spéciaux seront échappés pour prévenir toute vulnérabilité XSS (Cross-Site Scripting). Par défaut, $escape_html est défini sur false, mais vous pouvez le définir sur true si vous souhaitez vous assurer que le contenu est sûr pour une sortie directe en HTML.
Utiliser get_fields() sur la publication actuelle
Pour récupérer tous les champs personnalisés de la publication en cours, utilisez simplement la fonction get_fields()
sans paramètres :
$fields = get_fields();
Cela renverra un tableau associatif contenant tous les champs et leurs valeurs pour la publication actuellement affichée.
Vous pouvez ensuite parcourir ce tableau pour afficher ou traiter les données selon vos besoins.
Utiliser get_fields() sur un article précis
Pour récupérer tous les champs personnalisés d’un article spécifique ou de tout type de publication personnalisé, vous devez passer l’ID de la publication en paramètre à la fonction get_fields()
:
$fields = get_fields(123);
Dans cet exemple, 123
est l’ID de la publication dont vous souhaitez obtenir les champs personnalisés.
Le tableau retourné contiendra tous les champs et leurs valeurs associés à cette publication spécifique, que vous pourrez ensuite utiliser ou afficher selon vos besoins.
Cela fonctionne pour les articles, pages, ou tout autre type de publication personnalisé dans WordPress.
Utiliser get_fields() sur un utilisateur
Pour récupérer tous les champs personnalisés associés à un utilisateur spécifique, vous devez passer l’ID de l’utilisateur en utilisant le préfixe 'user_'
suivi de l’ID, comme paramètre à la fonction get_fields()
:
$fields = get_fields('user_1');
Dans cet exemple, 'user_1'
correspond à l’utilisateur avec l’ID 1
.
Le tableau retourné contiendra tous les champs et leurs valeurs associés à cet utilisateur, vous permettant de les utiliser ou de les afficher selon vos besoins.
Utiliser get_fields() sur une catégorie
Pour récupérer tous les champs personnalisés associés à une catégorie spécifique, vous devez passer l’ID de la catégorie en utilisant le préfixe 'category_'
suivi de l’ID, comme paramètre à la fonction get_fields()
:
$fields = get_fields('category_5');
Dans cet exemple, 'category_5'
correspond à la catégorie avec l’ID 5
.
Le tableau retourné contiendra tous les champs et leurs valeurs associés à cette catégorie, vous permettant de les utiliser ou de les afficher selon vos besoins.
Utiliser get_fields() sur une taxonomie
Pour récupérer tous les champs personnalisés associés à un terme de taxonomie spécifique, vous devez passer l’ID du terme en utilisant le préfixe de la taxonomie suivi de l’ID, comme paramètre à la fonction get_fields()
:
$fields = get_fields('taxonomy_10');
Dans cet exemple, 'taxonomy_10'
correspond à un terme de la taxonomie avec l’ID 10
.
Le tableau retourné contiendra tous les champs et leurs valeurs associés à ce terme de taxonomie, que vous pourrez utiliser ou afficher selon vos besoins.
Ce processus fonctionne pour toutes les taxonomies personnalisées ou par défaut dans WordPress.
Utiliser get_fields() sur une page d’options d’ACF
Pour récupérer tous les champs personnalisés associés à une page d’options créée avec ACF, vous devez passer 'options'
comme paramètre à la fonction get_fields()
:
$fields = get_fields('options');
Dans cet exemple, 'options'
indique que vous souhaitez récupérer les champs de la page d’options ACF.
Le tableau retourné contiendra tous les champs et leurs valeurs définis dans cette page d’options, vous permettant de les utiliser ou de les afficher selon vos besoins.
Cette méthode est particulièrement utile pour gérer les paramètres globaux de votre site.
Exemples d’utilisation de la fonction get_fields()
Exemple 1 : Utilisation simple de get_fields()
Dans cet exemple, nous allons récupérer et afficher tous les champs personnalisés d’une publication spécifique, comme un article ou une page, en utilisant l’ID de la publication.
// Récupérer tous les champs personnalisés de la publication avec l'ID 42 $fields = get_fields(42); // Vérifier si des champs ont été retournés if( $fields ) { // Parcourir chaque champ et afficher son nom et sa valeur foreach( $fields as $name => $value ) { echo '<p><strong>' . esc_html($name) . ':</strong> ' . esc_html($value) . '</p>'; } } else { echo '<p>Aucun champ personnalisé trouvé pour cette publication.</p>'; }
Dans cet exemple, get_fields(42)
récupère tous les champs personnalisés de la publication ayant l’ID 42.
Ensuite, nous parcourons le tableau retourné pour afficher chaque champ et sa valeur.
Ce type d’utilisation est idéal pour afficher des informations supplémentaires sur une page ou un article spécifique.
Exemple 2 : Utilisation de get_fields()
avec WP_Query
Dans cet exemple, nous allons utiliser get_fields()
en combinaison avec WP_Query pour récupérer et afficher les champs personnalisés de plusieurs articles appartenant à une catégorie spécifique.
// Définir une nouvelle requête WP_Query pour récupérer les articles de la catégorie avec l'ID 3 $args = array( 'category__in' => array(3), 'posts_per_page' => 5 ); $query = new WP_Query($args); // Vérifier si la requête retourne des articles if ( $query->have_posts() ) { // Parcourir chaque article retourné par la requête while ( $query->have_posts() ) { $query->the_post(); // Récupérer tous les champs personnalisés de l'article actuel $fields = get_fields(); // Afficher le titre de l'article echo '<h2>' . get_the_title() . '</h2>'; // Vérifier si des champs ont été retournés if( $fields ) { // Parcourir chaque champ et afficher son nom et sa valeur foreach( $fields as $name => $value ) { echo '<p><strong>' . esc_html($name) . ':</strong> ' . esc_html($value) . '</p>'; } } else { echo '<p>Aucun champ personnalisé trouvé pour cet article.</p>'; } } // Réinitialiser les données de la requête wp_reset_postdata(); } else { echo '<p>Aucun article trouvé dans cette catégorie.</p>'; }
Dans cet exemple, nous utilisons WP_Query
pour récupérer les cinq derniers articles d’une catégorie spécifique (ID 3).
Pour chaque article trouvé, get_fields()
est utilisé pour récupérer tous les champs personnalisés associés à cet article.
Nous affichons ensuite le titre de l’article suivi de ses champs personnalisés.
Cette approche est utile pour afficher des listes d’articles enrichis de données supplémentaires dans des templates d’archives ou de pages personnalisées.