我找到了一种方法来更改占位符,但不是woocommerce中结帐输入字段的标签。
我想改变adress_field_2
的标签。
这是我的尝试没有改变任何东西。我试过[label]和[label_class],但那不起作用......
add_filter( 'woocommerce_default_address_fields', 'new_checkout_field_label', 10, 1 );
function new_checkout_field_label( $address_fields ) {
$address_fields['address_2']['placeholder'] = __( '', 'woocommerce' );
$address_fields['address_2']['label'] = __( 'Apt, Unit, Etc (optional)', 'woocommerce' );
return $address_fields;
}
您的代码有效,并且存在正确的相关html。但它通过CSS规则隐藏在标记类screen-reader-text
中。
要使<label>
可见,您需要从<label>
标记中删除该类,添加以下行:
$address_fields['address_2']['label_class'] = array(); // No label class
所以在你的代码中:
add_filter( 'woocommerce_default_address_fields', 'custom_override_default_checkout_fields', 10, 1 );
function custom_override_default_checkout_fields( $address_fields ) {
$address_fields['address_2']['placeholder'] = __( '', 'woocommerce' );
$address_fields['address_2']['label'] = __( 'Apt, Unit, Etc (optional)', 'woocommerce' );
$address_fields['address_2']['label_class'] = array(); // No label class
return $address_fields;
}
代码位于活动子主题(或活动主题)的function.php文件中。经过测试和工作。