- This topic is empty.
- AuthorPosts
-
August 3, 2016 at 8:31 am #10036
alexey-svidentsov
ParticipantIn my design i have non standard billing fields label and markup. For example “Town / City *” should be “Province *”.
I have used WOO documentation, and filter
woocommerce_billing_fields
. And it works with class name, placeholder, create new fields. But I cant reach label changed.$out_arr['billing_city']['class'][0] = 'form-row-first'; $out_arr['billing_city']['label'] = __('Province', 'woocommerce'); $out_arr['billing_postcode']['label'] = __('Zipcode', 'woocommerce');
and using
var_dump
of new$out_arr
array it shows correct labels["billing_city"]=> array(4) { ["label"]=> string(8) "Province" ["required"]=> bool(true) ["class"]=> array(2) { [0]=> string(14) "form-row-first" [1]=> string(13) "address-field" } ["autocomplete"]=> string(14) "address-level2" }
But i still have old labels in front-end. Any suggestions please?
August 3, 2016 at 10:05 am #10038loictheaztec
ParticipantIn specific cases you need to use the
woocommerce_default_address_fields
filter. This filter is applied to all billing and shipping default fields:
'country'
,'first_name'
,'last_name'
,'company'
,'address_1'
,'address_2'
,'city'
,'state'
or'postcode'
.Here we only use
'city'
and'postcode'
as in your code:add_filter( 'woocommerce_default_address_fields' , 'override_default_address_fields' ); function override_default_address_fields( $address_fields ) { // @ for city $address_fields['city']['class'] = array('form-row-first'); $address_fields['city']['label'] = __('Province', 'woocommerce'); // @ for postcode $address_fields['postcode']['label'] = __('Zipcode', 'woocommerce'); return $address_fields; }
This is tested and working.
This code snippet goes on function.php file of your active child theme or theme
References:
August 6, 2018 at 4:36 am #10037alfonso
ParticipantIt’s been a while since the OP question, but I faced a similar situation (we use “Department” instead of “Province”) and found a solution that doesn’t involve coding, which in my case makes things easier. It’s the plugin Booster for WooCommerce.
It ads several other customization possibilities I have yet to try, but tweaking labels works just fine.
BTW, depending on your server settings it may cause an out-of-memory error upon activation, with WordPress returning a blank page. Temporarily increasing memory allocated to PHP allows it to complete activation.
- AuthorPosts
- You must be logged in to reply to this topic.