Les champs de profils WooCommerce
Deux types de champs de profils sont présents par défaut dans WooCommerce, alloués à la facturation et à l’expédition.
Ces champs ne sont ni plus ni moins que des user_meta, c’est-à-dire associés à un utilisateur.
Les champs de facturation :
billing_first_name: Prénombilling_last_name: Nombilling_company: Entreprisebilling_address_1: Première ligne d’adressebilling_address_2: Deuxième ligne d’adressebilling_city: Villebilling_postcode: Code postalbilling_country: Paysbilling_state: Régionbilling_phone: Téléphonebilling_email: Email
Les champs d’expédition :
shipping_first_name: Prénomshipping_last_name: Nomshipping_company: Entrepriseshipping_address_1: Première ligne d’adresseshipping_address_2: Deuxième ligne d’adresseshipping_city: Villeshipping_postcode: Code postalshipping_country: Paysshipping_state: Régionshipping_phone: Téléphone
Ces champs sont apparents à deux endroits :
- Dans le compte du membre
- Sur la page de paiement

Plusieurs Hooks sont disponibles afin de les modifier :
woocommerce_default_address_fields: ce hook permet de tous les modifier, à tous les endroits disponibleswoocommerce_shipping_fields: idem, mais concerne uniquement les champs d’expéditionwoocommerce_billing_fields: idem, mais concerne uniquement les champs de facturationwoocommerce_checkout_fields: n’affecte que la page de paiement et rien d’autre
Cet article montre simplement un exemple : woocommerce_billing_fields
Le hook woocommerce_billing_fields
Le hook woocommerce_billing_fields est de type filter et prend 1 seul paramètre :
$fields: Les champs de profil
L’affichage du contenu de ce paramètre donne :
Je supprime quelques champs afin d’illustrer l’utilisation de ce hook. En passant je montre également qu’il est possible d’affecter le caractère obligatoire d’un champ, par exemple le téléphone :

Le résultat souhaité :

Le code intégral
Il suffit de supprimer les champs du tableau passé en paramètre grâce à la fonction unset.
Le caractère obligatoire peut être altéré en changeant la valeur de la clef required pour un champ dans ce même tableau.












