WooCommerce : désactivation des champs de paiement avec un hook de filtre

logo carre@4x

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 falseen 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