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

WordPress :: Utiliser les cases à cocher d’Avanced Custom Fields (ACF)

Publié le : 

Modifié le : 

Par : 

Ce tutoriel se concentrera sur la fonction case à cocher du très célèbre plug-in ACF. Une série de tutoriels est consacrée à Advanced Custom Fields.

Le projet utilisé

Récemment, j’ai mis en ligne un projet autour du WordPress Europe 2013: Very French Trip WordCamp Europe. Dans ce site chaque « french » ou « conférencier » possède sa propre fiche de profil. Celle-ci a été créée avec un contenu personnalisé maison (HCPT Homemade Custom Post Types en anglais). Cette fiche utilise exclusivement les champs ACF. Du coup, je n’ai même pas le champ Éditeur. Vous pouvez vous reporter au tutoriel sur les Contenus personnalisés avec ce lien.

Les cases à cocher d’ACF donne à l’auteur de la ficher la possibilité de publier ou non sa biographie. Apparemment un petit bug du plug-in ne prend pas en charge le mode brouillon pour les champs personnalisés. Voir cet article si vous voulez approfondir le sujet.

Réglage des publications avec le champ Case à cocher

Création du champ case à cocher

Une fois le champ Case à cocher choisi, vous avez deux actions principales à effectuer.

D’abord les choix à donner. Il s’agit de mettre un choix par ligne avec d’abord l’étiquette (non visible) et le libellé, visible dans le back-office. Attention, pour que ça fonctionne, vous devez laisser un espace de chaque côté des :.

Enfin, vous pouvez avoir un affichage des choix vertical ou horizontal.

Capture: type de champs dans les cases à cocher de ACF

Visualisation du nouveau champ

Dans les contenus personnalisés les champs case à cocher apparaissent comme dans la capture qui suit. Ces champs me permettent d’afficher ou non les deux biographies utilisées; la Française et l’Anglaise. Nous pouvons alors sauvegarder nos bios sans perdre nos changements.

Capture: Métaboxe des cases à cocher dans le plugin ACF pour WordPress

En ligne la biographie s’affichera sous la photo de l’auteur.

Capture: Démonstration en ligne pour les options des cases à cocher d'ACF pour WordPress

PHP à intégrer dans votre modèle

Pour que ce nouveau champ fonctionne, j’ai ajouté dans mon modèle single-nom_custom_post_type.php, à la suite des autres champs personnalisés d’ACF, le conditionnel généré par les cases à cocher.

Si vous recevez l’article par email, le code est visible sur le site: ici.

[gist id=6560402 file=genesis_template_single_wc_bio_cases_cocher.php]

Champs du contenu personnalisé:

Voici les champs ACF utilisés:

  • gn_publier_bio: champs des cases à cocher avec deux valeurs biofr ou bioeng
  • gn_bio et gn_bio_eng qui sont les deux champs WYSIWYG des biographies.

Détail du code

  • Je vérifie avec if(get_field('gn_publier_bio')) si la case à cocher est active. Sinon, je n’affiche rien. Ce conditionnel est important de manière à arrêter le script si aucune case n’est cochée.
  • Avec if(in_array('biofr', get_field('gn_publier_bio'))), je vérifie si la première case est active
  • Avec if(in_array('bioeng', get_field('gn_publier_bio'))), je contrôle la deuxième.

Pour les deux cases à cocher, il s’agit d’utiliser la fonction in_array (voir l’article complet de la fonction).
Cette fonction PHP récupère une valeur, ici 'biofr' dans un tableau généré par la fonction ACF get_field('gn_publier_bio'

Aller plus loin

Évidemment cette utilisation des cases à cocher serait utilisable sur n’importe quel champ ou contenu qui nécessite un conditionnel depuis le back-office de WordPress.

Et quelques Liens