在Woocommerce结帐中设置billing_address_2标签

时间:2018-05-25 08:54:50

标签: woocommerce

我正在尝试在Woocommerce结帐页面上为billing_address_2字段设置/显示标签,但无法找到执行此操作的方法。有谁知道解决方案?

下面的代码(在其他字段上可以正常工作)不起作用。

add_filter( 'woocommerce_checkout_fields' , 'custom_rename_wc_checkout_fields' );

function custom_rename_wc_checkout_fields( $fields ) {

    $fields['billing']['billing_address_2']['label'] = 'Building number';
    return $fields;

}

1 个答案:

答案 0 :(得分:2)

为了将来的读者起见,使用答案更新此问题。

从WooCommerce 3.5.1开始,提交87054ece9a4c05db72e139730ed1764c63fab635将' screen-reader-text 'label_class添加到Billing&Shipping Address 2字段中,以便根据问题{{3 }}。此类将使标签保持隐藏状态,除非也将其更改(例如,使其空白,例如“地址1”字段)。

这是我更新我的functions.php以获得billing / shipping_address_2标签的方式(我使用了单独的billing / shipping过滤器,因为我为简洁起见未对其他字段进行更改)。

// Billing Fields.
add_filter( 'woocommerce_billing_fields', 'custom_woocommerce_billing_fields' );
function custom_woocommerce_billing_fields( $fields ) {
    $fields['billing_address_2']['label'] = 'Address 2';
    $fields['billing_address_2']['label_class'] = '';

    return $fields;
}

// Shipping Fields.
add_filter( 'woocommerce_shipping_fields', 'custom_woocommerce_shipping_fields' );
function custom_woocommerce_shipping_fields_custom( $fields ) {
    $fields['shipping_address_2']['label'] = 'Address 2';
    $fields['shipping_address_2']['label_class'] = '';

    return $fields;
}