在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解决方案更糟糕。我还能做什么?
答案 0 :(得分:2)
根据@Ash Patel的建议,我们可以这样做:
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;
} );
答案 1 :(得分: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;
}