首页 文章

Woocommerce邮政编码字段占位符

提问于
浏览
0

在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 回答

  • 2

    将以下代码添加到您的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;
    }
    
  • 1

    正如@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;
    
    } );
    

相关问题