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
- ACF :: Créer une date Intertionalisable
- WordPress :: Créer des articles relatifs avec Advanced Custom Fields (ACF)
- WordPress :: Utilisation basique d’Advanced Custom Fields (ACF)
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.
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.
En ligne la biographie s’affichera sous la photo de l’auteur.
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.