Advanced Custom Fields : un incontournable pour la création de votre thème WordPress
Leave a CommentPlusieurs auront leur extension préférée, voici la mienne.
Advanced Custom Fields est l’extension la plus polyvalente que je connaisse. Elle permet d’attribuer des variables spécifiques pour à peu près tout. Jumelée aux Custom Post Types de WordPress elle permet de répondre à presque tous vos besoins. Pour encore plus de polyvalence, utilisez le add-on Repeater Field.
Création des Posts Types
Voici une mise en situation. Je veux représenter les produits de mon entreprise. Pour chacun de ces produits, j’ai un prix, une image, une description, des produits reliés et des avantages à exposer. Je commence d’abord par créer mon Post Type dans mon fichier functions.php à la racine de mon thème.
function weblounge_custom_post_types() { $labels = array( 'name' => __( 'Produits' , 'weblounge'), 'singular_name' => __( 'Produit' , 'weblounge'), 'add_new' => __( 'Ajouter un produit' , 'weblounge'), 'add_new_item' => __( 'Ajouter un produit' , 'weblounge'), 'edit_item' => __( 'Modifier le produit' , 'weblounge'), 'new_item' => __( 'Nouveau produit' , 'weblounge'), 'all_items' => __( 'Tous les produits' , 'weblounge'), 'view_item' => __( 'Voir le produit' , 'weblounge'), 'search_items' => __( 'Rechercher un produit' , 'weblounge'), 'not_found' => __( 'Aucun produit trouvé' , 'weblounge'), 'not_found_in_trash' => __( 'Aucun produit trouvé' , 'weblounge'), 'menu_name' => __( 'Produits' , 'weblounge'), ); $args = array( 'labels' => $labels, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => __( 'produit' , 'weblounge') ), 'capability_type' => 'post', 'has_archive' => false, 'hierarchical' => false, 'supports' => array( 'title', 'editor', 'thumbnail' ) ); register_post_type( 'produits', $args ); } add_action( 'init', 'weblounge_custom_post_types' );
J’obtiendrai ainsi ceci :
Configuration de Advanced Custom Fields pour mes produits
Pour ce qui est des variables description et image j’utiliserai les champs de contenu et d’image à la une des « Posts » (ou Produits dans mon cas). Je pourrai donc ensuite créer un groupe de champs dans l’extension ACF que je nommerai « Produits ».
Pour les produits reliés j’utiliserai un champs de type «Relation» que j’attracherai avec les autres produits.
Pour le prix j’utiliserai un champ «Nombre».
Finalement pour les avantages j’utiliserai un champ «Repeater» ainsi qu’un sous-champ avantage de type texte.
Il ne me reste qu’à assigner ce groupe de trois champs au post type «produits» pour voir les champs apparaître dans les posts de types produits.
Finalement…
Voici donc le résultat de mon Post Type «Produits :
J’expliquerai dans un autre article comment insérer ces données dans une page de mon thème.