Woocommerce邮政编码字段占位符

时间:2017-01-25 05:20:58

标签: wordpress 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解决方案更糟糕。我还能做什么?

2 个答案:

答案 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;
}