首先是正确的 php 代码,您可以在其中重命名标签字段并设置宽度样式中涉及的类。
有关 Woocommerce 结帐字段中的类的说明:
-
array('form-row-first')
- 字段将显示在第一列中(因此宽度为 50%)。
-
array('form-row-last')
- 字段将显示在第二列中(因此宽度为 50%)。
-
array('form-row-wide')
- 字段将显示在两列中(因此宽度为 100%)。
代码:
add_filter( 'woocommerce_checkout_fields' , 'custom_checkout_billing_fields', 20, 1 );
function custom_checkout_billing_fields( $fields ){
// Remove billing address 2
unset($fields['billing']['billing_address_2']);
if( is_cart()){ // <== On cart page only
// Change placeholder
$fields['billing']['billing_phone']['placeholder'] = __( 'Telefon', $domain );
$fields['billing']['billing_email']['placeholder'] = __( 'Email', $domain );
$fields['billing']['billing_company']['placeholder'] = __( 'Firmanavn', $domain );
// Change class
$fields['billing']['billing_phone']['class'] = array('form-row-first'); // 50%
$fields['billing']['billing_email']['class'] = array('form-row-last'); // 50%
$fields['billing']['billing_company']['class'] = array('form-row-wide'); // 100%
}
return $fields;
}
add_filter('woocommerce_default_address_fields', 'custom_default_address_fields', 20, 1);
function custom_default_address_fields( $address_fields ){
if( ! is_cart()){ // <== On cart page only
// Change placeholder
$address_fields['first_name']['placeholder'] = __( 'Fornavn', $domain );
$address_fields['last_name']['placeholder'] = __( 'Efternavn', $domain );
$address_fields['address_1']['placeholder'] = __( 'Adresse', $domain );
$address_fields['state']['placeholder'] = __( 'Stat', $domain );
$address_fields['postcode']['placeholder'] = __( 'Postnummer', $domain );
$address_fields['city']['placeholder'] = __( 'By', $domain );
// Change class
$address_fields['first_name']['class'] = array('form-row-first'); // 50%
$address_fields['last_name']['class'] = array('form-row-last'); // 50%
$address_fields['address_1']['class'] = array('form-row-wide'); // 100%
$address_fields['state']['class'] = array('form-row-wide'); // 100%
$address_fields['postcode']['class'] = array('form-row-first'); // 50%
$address_fields['city']['class'] = array('form-row-last'); // 50%
}
return $address_fields;
}
现在相关的 CSS 代码应该是(默认情况下)如下所示:
(尝试删除 !important
看看是否真的有必要)
.form-row-wide,
.form-row-first,
.form-row-last {
clear: both !important;
float: none !important;
width: 100% !important;
margin-right: 0 !important;
}
@media (min-width: 768px){
.form-row-first {
width: 47% !important;
float: left !important;
margin-right: 5.8% !important;
clear: both !important;
}
.form-row-last {
width: 47% !important;
float: right !important;
margin-right: 0 !important;
clear: none !important;
}
}