返回上一级
Wordpress中修改woocommerce结算页面去掉其它表单字段
通过添加 woocommerce_shared_settings
过滤器,修改表单内容。
1add_filter('woocommerce_shared_settings', function ($settings) {
2 $settings['defaultFields']['email']['required'] = false;
3 $settings['defaultFields']['email']['hidden'] = true;
4
5 $settings['defaultFields']['last_name']['required'] = false;
6 $settings['defaultFields']['last_name']['hidden'] = true;
7
8 $settings['defaultFields']['company']['required'] = false;
9 $settings['defaultFields']['company']['hidden'] = true;
10
11 $settings['defaultFields']['country']['required'] = false;
12 $settings['defaultFields']['country']['hidden'] = true;
13
14 $settings['defaultFields']['city']['required'] = false;
15 $settings['defaultFields']['city']['hidden'] = true;
16
17 $settings['defaultFields']['state']['required'] = false;
18 $settings['defaultFields']['state']['hidden'] = true;
19
20 $settings['defaultFields']['postcode']['required'] = false;
21 $settings['defaultFields']['postcode']['hidden'] = true;
22
23 return $settings;
24});
其中,参数 $settings
会返回woocommerce的完整配置信息
我们只需要关心 $settings
内部的数组 defaultFields
内容。
默认 $settings['defaultFields']
包含以下内容:
格式是PHP关联数组,解析成json格式展示
1{
2 "email": {
3 "label": "電子郵件地址",
4 "optionalLabel": "Email address (optional)",
5 "required": true,
6 "hidden": false,
7 "autocomplete": "email",
8 "autocapitalize": "none",
9 "index": 0
10 },
11 "first_name": {
12 "label": "名字",
13 "optionalLabel": "名字 (選填)",
14 "required": true,
15 "hidden": false,
16 "autocomplete": "given-name",
17 "autocapitalize": "sentences",
18 "index": 10
19 },
20 "last_name": {
21 "label": "姓氏",
22 "optionalLabel": "姓氏 (選填)",
23 "required": true,
24 "hidden": false,
25 "autocomplete": "family-name",
26 "autocapitalize": "sentences",
27 "index": 20
28 },
29 "company": {
30 "label": "公司",
31 "optionalLabel": "公司 (選填)",
32 "required": false,
33 "hidden": false,
34 "autocomplete": "organization",
35 "autocapitalize": "sentences",
36 "index": 30
37 },
38 "address_1": {
39 "label": "地址",
40 "optionalLabel": "地址 (選填)",
41 "required": true,
42 "hidden": false,
43 "autocomplete": "address-line1",
44 "autocapitalize": "sentences",
45 "index": 40
46 },
47 "address_2": {
48 "label": "公寓、套房等",
49 "optionalLabel": "公寓、套房等 (選填)",
50 "required": false,
51 "hidden": false,
52 "autocomplete": "address-line2",
53 "autocapitalize": "sentences",
54 "index": 50
55 },
56 "country": {
57 "label": "國家/地區",
58 "optionalLabel": "國家/地區 (選填)",
59 "required": true,
60 "hidden": false,
61 "autocomplete": "country",
62 "index": 50
63 },
64 "city": {
65 "label": "城市",
66 "optionalLabel": "城市 (選填)",
67 "required": true,
68 "hidden": false,
69 "autocomplete": "address-level2",
70 "autocapitalize": "sentences",
71 "index": 70
72 },
73 "state": {
74 "label": "縣/市",
75 "optionalLabel": "州/郡 (選填)",
76 "required": true,
77 "hidden": false,
78 "autocomplete": "address-level1",
79 "autocapitalize": "sentences",
80 "index": 80
81 },
82 "postcode": {
83 "label": "郵遞區號",
84 "optionalLabel": "郵遞區號 (選填)",
85 "required": true,
86 "hidden": false,
87 "autocomplete": "postal-code",
88 "autocapitalize": "characters",
89 "index": 90
90 },
91 "phone": {
92 "label": "聯絡電話",
93 "optionalLabel": "電話 (選填)",
94 "required": false,
95 "hidden": false,
96 "type": "tel",
97 "autocomplete": "tel",
98 "autocapitalize": "characters",
99 "index": 100
100 }
101}
可以修改关键字可以影响表单显示效果
label
optionalLabel
required
hidden
index
必填时文本内容
选填时文本内容
true 必填 | false 选填
true 隐藏 | false 显示
排序