1 回答

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
您錯(cuò)過了priority允許重新排序表單字段的表單字段“ ”參數(shù)……在下面的代碼中,我使用for循環(huán)動(dòng)態(tài)生成 20 字段(僅用于測(cè)試,因?yàn)樗亲羁斓模?/p>
在這里,這些表單字段的優(yōu)先級(jí)從第一個(gè)的 200 開始,每個(gè)字段增加 10。
代碼:
add_filter( 'woocommerce_checkout_fields', 'customizing_checkout_fields', 10, 1 );
function customizing_checkout_fields( $fields ) {
## 1. unset the unwanted billing fields
unset($fields['order']['order_comments']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_city']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_phone']);
## 2. Add 20 form fields (from "Test 1" to "Test 20")
// Using a for loop to make the 20 fields dynamically
for ( $i = 1, $j = 0; $i <= 20; $i++, $j += 10 ) {
$fields['billing']['billing_test' . $i] = array(
'label' => __('Test', 'woocommerce') . ' ' . $i,
'placeholder' => _x('', 'placeholder', 'woocommerce'),
'required' => true,
'clear' => true,
'class' => array('form-row'),
'priority' => (200 + $j) // <== The priority starting at 200 and increasing by 10 each time
);
}
return $fields;
}
代碼位于您的活動(dòng)子主題(或活動(dòng)主題)的 function.php 文件中。測(cè)試和工作。
因此,在您的情況下,您將使用(沒有 for 循環(huán)):
add_filter( 'woocommerce_checkout_fields', 'customizing_checkout_fields', 10, 1 );
function customizing_checkout_fields( $fields ) {
## 1. unset the unwanted billing fields
unset($fields['order']['order_comments']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_city']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_phone']);
## 2. Add 20 form fields (from "Test 1" to "Test 20")
$fields['billing']['billing_test1'] = array(
'label' => __('Test 1', 'woocommerce'),
'placeholder' => _x('', 'placeholder', 'woocommerce'),
'required' => true,
'clear' => true,
'class' => array('form-row'),
'priority' => 200 // <== <== <== priority
);
$fields['billing']['billing_test2'] = array(
'label' => __('Test 2', 'woocommerce'),
'placeholder' => _x('', 'placeholder', 'woocommerce'),
'required' => true,
'clear' => true,
'class' => array('form-row'),
'priority' => 210 // <== Increased by 10
);
// A further 18 copies of the above field from "Test 3" to "Test 20"
return $fields;
}
- 1 回答
- 0 關(guān)注
- 137 瀏覽
添加回答
舉報(bào)