我無法找到ovveride結算狀態和郵政編碼的方式。WooCommerce - 在現有結帳字段上覆蓋結算狀態和郵政編碼
如何編輯現有結算字段的其他部分,如結算狀態和郵政編碼?
這是我在functions.php
文件在我的子主題(我已經包括影響計費部分的代碼):
<?php
function my_custom_checkout_field($checkout) {
global $wpdb;
$check_zone = $wpdb->get_results("select area_name from brick_area where id='".$_SESSION['area']."'",ARRAY_A);
if(!empty($check_zone)){
$check_zoneid = $check_zone['0'];
}
woocommerce_form_field('my_field_name', array(
'type' => 'text',
'class' => array('my-field-class form-row-wide'),
'label' => __('Delivery Area'),
'placeholder' => __('Area'),
'readonly' =>'readonly',
'default' => $check_zoneid['area_name']
), $checkout->get_value('my_field_name'));
woocommerce_form_field('my_expected_date', array(
'type' => 'text',
'class' => array('my-field-class form-row-wide'),
'required' => true,
'label' => __('Expected Delivery Date'),
'placeholder' => __('Enter expected delivery date.'),
), $checkout->get_value('my_expected_date'));
/*woocommerce_form_field('my_expected_time', array(
'type' => 'text',
'class' => array('my-field-class form-row-wide'),
'required' => true,
'label' => __('Expected Delivery Time'),
'placeholder' => __('Enter expected delivery time.'),
), $checkout->get_value('my_expected_time'));*/
woocommerce_form_field('site_contact_name', array(
'type' => 'text',
'class' => array('my-field-class form-row-wide'),
'required' => true,
'label' => __('Site Contact Person Name'),
'placeholder' => __('Enter site contact person name.'),
), $checkout->get_value('site_contact_name'));
woocommerce_form_field('site_contact_phone', array(
'type' => 'tel',
'class' => array('my-field-class form-row-wide'),
'required' => true,
'label' => __('Site Contact Phone Number'),
'placeholder' => __('Enter site contact phone number.'),
), $checkout->get_value('site_contact_phone'));
}
$fields['billing']['billing_city']['default'] = $_SESSION['cn'];
add_filter('woocommerce_default_address_fields' , 'custom_override_default_address_fields');
function custom_override_default_address_fields($address_fields) {
// we are changing here billing_state field to required
$fields['billing']['billing_state']['required'] = true;
return $address_fields;
}
/*$fields['billing']['my_field_name']['default'] = $check_zoneid['area_name'];
$fields['billing']['my_field_name']['label'] = 'Area';*/
return $fields;
}
?>
感謝
sure @LoicTheAztec – art