2017-01-25 24 views
0

將佔位符添加到Woocommerce中的郵政編碼結算字段。Woocommerce郵編字段佔位符

在覈心類-WC-countries.php

'postcode' => array(
       'label'  => __('Postcode/ZIP', 'woocommerce'), 
       'required'  => true, 
       'class'  => array('form-row-last', 'address-field'), 
       'clear'  => true, 
       'validate'  => array('postcode'), 
       'autocomplete' => 'postal-code', 
      ), 

那麼有沒有方法來覆蓋它woocommerce_billing_fields過濾器。爲什麼有些字段有佔位符鍵,但其他字段沒有?有些字段只有標籤,有些只有佔位符,有些則兼有。我不明白這背後的邏輯。

所以我的問題是:如何將佔位符文本添加到Postcode字段。我可以用Javascript來完成,但這種接縫並不自然。此外,我可以修改核心,這是更糟糕的Javascript解決方案。我還可以做些什麼?

回答

1

將以下代碼添加到您的function.php中,用於添加/更新結帳和編輯屏幕的郵政編碼。

//on edit address screen 

function filter_woocommerce_billing_fields($wooccm_billing_fields, $int) { 

    $wooccm_billing_fields['billing_postcode']['placeholder'] = __('My Post Code', 'woocommerce');; 

    return $wooccm_billing_fields; 
};    
add_filter('woocommerce_billing_fields', 'filter_woocommerce_billing_fields', 10, 2); 


add_action('woocommerce_checkout_fields', 'update_placeholder_checkout_form_billing'); 
function update_placeholder_checkout_form_billing($wcCheckout_fields) { 
    $wcCheckout_fields['billing']['billing_postcode'] = array(
     'label' => 'Postcode/ZIP', 
     'placeholder' => _x('My Post Code', 'placeholder', 'woocommerce'), 
     'required' => true, 
     'class' => array('checkout-billing-postal-code') 
    ); 
    return $wcCheckout_fields; 
} 
+0

好感謝您指出。 – RomkaLTU

+0

welcome..accept答案,如果它是有用的滿足您的要求。 –

2

正如@Ash帕特爾建議我們可以做到這一點是這樣的:

add_filter('woocommerce_checkout_fields', function($fields){ 

    $fields['billing']['billing_postcode']['placeholder'] = __('My Post Code', 'woocommerce'); 

    return $fields; 

}); 

而對於航運

add_filter('woocommerce_shipping_fields', function($fields){ 

    $fields['shipping_postcode']['placeholder'] = __('My Post Code', 'woocommerce'); 

    return $fields; 

});