Vous devez utiliser la unset()
fonction à cet effet et vous pouvez le faire de cette façon :
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_city']);
unset($fields['billing']['billing_phone']);
return $fields;
}
Vous devrez coller ce code dans le fichier function.php situé dans votre thème ou thème enfant actif.
Vous avez modifié votre question avec une mise à jour : Voici ma nouvelle réponse
Rendre les champs d’adresse facultatifs (concernant votre mise à jour) :
Vous devez utiliser un autre crochet de filtre à cet effet. Il existe 2 crochets de filtre différents :
1) Pour les champs de facturation :
add_filter( 'woocommerce_billing_fields', 'wc_optional_billing_fields', 10, 1 );
function wc_optional_billing_fields( $address_fields ) {
$address_fields['billing_address_1']['required'] = false;
$address_fields['billing_address_2']['required'] = false;
$address_fields['billing_postcode']['required'] = false;
$address_fields['billing_city']['required'] = false;
$address_fields['billing_phone']['required'] = false;
return $address_fields;
}
2) Pour les champs d’expédition :
add_filter( 'woocommerce_shipping_fields', 'wc_optional_shipping_fields', 10, 1 );
function wc_optional_shipping_fields( $address_fields ) {
$address_fields['shipping_phone']['required'] = false;
return $address_fields;
}
Pour rendre les champs d’adresse obligatoires :
Vous pouvez utiliser les mêmes hooks et fonctions ci-dessus, en changeant pour chaque champ false
en true
.
Vous devrez coller ce code dans le fichier function.php situé dans votre thème ou thème enfant actif.
Référence : Personnalisation des champs de paiement à l’aide de hooks