更改帐单和发货地址1和2字段占位符

时间:2019-02-20 作者:John Cook

我正在尝试更改帐单和发货地址1和地址2字段的占位符文本,但我根本无法更改它。这是我的账单地址1

// This function sets the address 1 placeholder
add_filter( \'woocommerce_checkout_fields\', \'uwc_new_address_one_placeholder\' );
function uwc_new_address_one_placeholder($fields){

        $fields[\'billing\'][\'billing_address_1\'][\'placeholder\'] = \'over the hill\';

    return $fields;
}
这适用于除地址1和2之外的其他所有字段。我做错了什么?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

在地址字段通过之前woocommerce_checkout_fields 钩子,它们被WC_Countries::get_address_fields(), 在该函数中,其过滤器前有一条注释,内容如下:

有关此筛选器的重要注意事项:对地址字段的更改可以并且将被woocommerce\\u default\\u address\\u字段覆盖。根据国家选择,语言环境/默认语言环境位于顶部。如果要更改地址字段的必需状态,请改为筛选woocommerce\\u default\\u address\\u字段。

在我看来,同样的问题可能会影响woocommerce_checkout_fields 滤器

所以我的建议是使用woocommerce_default_address_fields 改为筛选:

function uwc_new_address_one_placeholder( $fields ) {
    $fields[\'address_1\'][\'placeholder\'] = \'over the hill\';

    return $fields;
}
add_filter( \'woocommerce_default_address_fields\', \'uwc_new_address_one_placeholder\' );
请注意,此筛选器同时适用于发货地址和帐单地址,并且不应要求shipping_billing_ 字段名称上的前缀。