This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Du kan lägga den i din functions.php och det enda du behöver lägga till är den logiken du vill ha innan du tar bort fältet.
Du måste fundera på hur du vill ha logiken i ditt exempel, vad händer tex om det ligger två varor i korgen där den ena har en kategori och en annan inte har det?
Hej, perfekt, Nicolas blog är riktigt bra. Såg nu att functions.php redan har kollen men den fungerar inte längre efter uppdateringar av woocommerce. Ärvd site så jag har dålig koll på den tidigare kodningen 🙂
// Remove billing-fields when order total = 0
add_filter( 'woocommerce_checkout_fields', 'remove_checkout_fields_when_ordertotal_is_zero', 20 );
function remove_checkout_fields_when_ordertotal_is_zero( $fields ) {
global $woocommerce;
// if the total is more than 0 then we still need the fields
if ( 0 != $woocommerce->cart->total ) {
return $fields;
}
// return the regular billing fields if we need shipping fields
if ( $woocommerce->cart->needs_shipping() ) {
return $fields;
}
// we don't need the billing fields so empty all of them except the email
unset($fields['billing']['billing_first_name']);
unset($fields['billing']['billing_last_name']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_city']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_phone']);
return $fields;
}