J'utilise woocommerce_checkout_fields
filtre pour modifier la valeur de l'étiquette du champ woocommerce. Cela fonctionne bien sur la page de paiement (comme on peut s'y attendre), mais je ne comprends pas pourquoi cela ne fonctionne pas sur la page du compte. Je pensais que les champs étaient toujours pris au même endroit ? Plus précisément, je parle du champ d'adresse sur le point de terminaison de modification de l'adresse sur la page du compte woocommerce ?
Ma tentative de code :
function custom_woocommerce_fields( $fields ) { // Billing Fields $fields['billing']['billing_first_name']['label'] = 'First name'; $fields['billing']['billing_last_name']['label'] = 'Last name'; $fields['billing']['billing_company']['label'] = 'Company name'; $fields['billing']['billing_address_1']['label'] = 'Street address'; $fields['billing']['billing_address_2']['label'] = 'Apartment, unit, etc.'; $fields['billing']['billing_city']['label'] = 'City'; $fields['billing']['billing_country']['label'] = 'Country'; $fields['billing']['billing_state']['label'] = 'County/State'; $fields['billing']['billing_postcode']['label'] = 'Postcode'; $fields['billing']['billing_email']['label'] = 'Email'; $fields['billing']['billing_phone']['label'] = 'Phone'; // Shipping Fields $fields['shipping']['shipping_first_name']['label'] = 'First name'; $fields['shipping']['shipping_last_name']['label'] = 'Last name'; $fields['shipping']['shipping_company']['label'] = 'Company name'; $fields['shipping']['shipping_address_1']['label'] = 'Street address'; $fields['shipping']['shipping_address_2']['label'] = 'Apartment, unit, etc.'; $fields['shipping']['shipping_city']['label'] = 'City'; $fields['shipping']['shipping_country']['label'] = 'Country'; $fields['shipping']['shipping_state']['label'] = 'County/State'; $fields['shipping']['shipping_postcode']['label'] = 'Postcode'; $fields['shipping']['shipping_email']['label'] = 'Email'; $fields['shipping']['shipping_phone']['label'] = 'Phone'; // Account Fields $fields['account']['account_username']['label'] = 'Username or email'; $fields['account']['account_password']['label'] = 'Password'; // Order Fields $fields['order']['order_comments']['label'] = 'Order notes'; return $fields; } add_filter( 'woocommerce_checkout_fields' , 'custom_woocommerce_fields' );
Les champs de Mon compte > Adresses ne sont pas personnalisés (modification des adresses de facturation ou de livraison).
Ce qui suit affectera les champs de la section Mon compte « Adresse » et les champs de paiement, permettant la personnalisation des champs de facturation et d'expédition dans la section Mon compte correspondante.
1) Pour les champs Mon compte et adresse lors du paiement (Facturation et expédition) :
Dans certains cas, vous devez utiliser ce filtre sur le champ d'adresse et il s'appliquera à tous les Champs par défaut de facturation et d'expédition :
Vous pouvez utiliser les balises conditionnelles WooCommerce is_account_page() et is_checkout() pour cibler la page de mon compte ou ma page de paiement...
2) Pour les champs de facturation de mon compte, modifier l'adresse et payer :
3) Pour les champs d'expédition sur mon compte, modifiez l'adresse et passez à la caisse
4) Tous les (autres) champs ne sont utilisés que lors du paiement :
5) De plus, selon le pays sélectionné, vous devrez utiliser des filtres :
woocommerce_country_locale_field_selectors
woocommerce_get_country_locale_default
Ceux-ci sont dans la classe
WC_Country
.Le code est dans le fichier function.php du thème enfant actif (ou thème actif).
Documentation officielle associée : Personnalisez les champs de paiement à l'aide d'actions et de filtres