在我的设计中,我有非标准的结算字段标签和标记。例如"城镇/城市*"应该是"省*"。
我使用了WOO文档,并过滤了woocommerce_billing_fields
。它适用于类名,占位符,创建新字段。但我无法改变标签。
$out_arr['billing_city']['class'][0] = 'form-row-first';
$out_arr['billing_city']['label'] = __('Province', 'woocommerce');
$out_arr['billing_postcode']['label'] = __('Zipcode', 'woocommerce');
并使用var_dump
新$out_arr
数组显示正确的标签
["billing_city"]=>
array(4) {
["label"]=>
string(8) "Province"
["required"]=>
bool(true)
["class"]=>
array(2) {
[0]=>
string(14) "form-row-first"
[1]=>
string(13) "address-field"
}
["autocomplete"]=>
string(14) "address-level2"
}
但我仍然在前端有旧标签。有什么建议吗?
答案 0 :(得分:3)
在特定情况下,您需要使用 woocommerce_default_address_fields
过滤器。此过滤器适用于所有结算和发货默认字段:
'country'
,'first_name'
,'last_name'
,'company'
,'address_1'
,'address_2'
,'city'
,'state'
或{{ 1}}。
此处我们仅在您的代码中使用 'postcode'
和 'city'
:
'postcode'
经过测试并正常运作。
此代码段会显示您的活动子主题或主题的function.php文件
参考文献:
答案 1 :(得分:0)
自从OP问题以来已经有一段时间了,但是我遇到了类似的情况(我们使用“部门”而不是“省”),并且找到了一个不涉及编码的解决方案,在我看来,这使事情变得更容易。这是插件 WooCommerce的推动者。
它为我尚未尝试的其他几种自定义可能性提供了广告,但是调整标签就可以了。
顺便说一句,根据您的服务器设置,它可能会在激活时导致内存不足错误,而WordPress返回空白页。暂时增加分配给PHP的内存可以使其完全激活。