Affichage ACF sécurisé : une astuce simple
Avec la version 6.2.7 d’Advanced Custom Fields (ACF), il est important d’utiliser get_field() au lieu de the_field() pour afficher le contenu d’un champ.
En effet, the_field() va automatiquement appliquer un échappement HTML qui peut casser l’affichage de certains contenus (iframes, vidéos embed etc).
La solution est simple :
- Utilisez get_field(‘mon_champ’) pour récupérer la valeur du champ
- Appliquez vous-même l’échappement HTML adapté au contenu. Pour un contenu de type article, vous pouvez utiliser wp_kses_post() :
<?php
// Récupération de la valeur
$valeur = get_field('mon_champ');
// Échappement HTML
echo wp_kses_post($valeur);
wp_kses_post() va supprimer les balises dangereuses comme <script> tout en conservant la plupart des balises HTML standard.
Ainsi, vous affichez le contenu de manière sécurisée, sans casser la mise en page.