3 votes

Comment empêcher le champ code postal/zip d'être caché pour certains pays dans WooCommerce

Je veux afficher le champ code postal/zip même pour les pays qui n'utilisent pas les codes postaux/zip sur la page de paiement de WooCommerce.

WooCommerce masque le champ code postal/zip par défaut pour les pays qui ne les utilisent pas.

J'ai utilisé le filtre suivant dans le thème functions.php mais cela ne fonctionne pas.

add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );

function custom_override_default_address_fields( $address_fields ) {
     $address_fields['postcode']['hidden'] = false; 
     return $address_fields;
}

Comment puis-je modifier ce comportement ?

2voto

7uc1f3r Points 14496

Vous pouvez utiliser le woocommerce_get_country_locale pour le désactiver par défaut pour tous les pays.

Vous obtenez donc :

function filter_woocommerce_get_country_locale( $country_locale ) { 
    // Loop through
    foreach( $country_locale as $key => $locale ) {
        // Isset
        if ( isset ( $locale['postcode']['hidden'] ) ) {
            // When true
            if ( $locale['postcode']['hidden'] == true ) {
                // Set to false
                $country_locale[$key]['postcode']['hidden'] = false;
            }
        }
    }

    return $country_locale;
}
add_filter( 'woocommerce_get_country_locale', 'filter_woocommerce_get_country_locale', 10, 1 );

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X