答案 0 :(得分:2)
首先需要使用专用挂钩 label
从'text'更改为'select' > options
即可。然后,您还需要更改 key/values
和 add_filter( 'woocommerce_default_address_fields' , 'customize_checkout_city_field' );
function customize_checkout_city_field( $address_fields ) {
// Set HERE the cities (one line by city)
$towns_cities_arr = array(
'0' => __('Select your city', 'my_theme_slug'),
'paris' => 'Paris',
'versailles' => 'Versailles',
'cannes' => 'Cannes',
);
// Customizing 'billing_city' field
$address_fields['city']['type'] = 'select';
$address_fields['city']['class'] = array('form-row-last', 'my-custom-class'); // your class here
$address_fields['city']['label'] = __('Town / city', 'my_theme_slug');
$address_fields['city']['options'] = $towns_cities_arr;
// Returning Checkout customized fields
return $address_fields;
}
参数,以便将您的城镇设置为 $address_fields['city']['class']…
强>
在这个数组中,你将有一个由昏迷分隔的一行。
以下是代码:
'my-custom-class'
此代码位于活动子主题(或主题)的function.php文件中或任何插件文件中。
代码已经过测试并且功能齐全。
更新:要添加自定义类,请在 $('document').ready(function ($) {
var arr = [{
num: $('#nav').offset().top,
nav: $('#header-wrapper'),
fn: function (num, nav) {
return ($(this).scrollTop() > num) ? nav.addClass('ffd-hdwrb') : nav.removeClass('ffd-hdwrb');
}
}, {
num: $('#nav').offset().top,
nav: $('#nav'),
fn: function (num, nav) {
return ($(this).scrollTop() > num) ? nav.addClass('ffd-nav').removeClass('ffn-nav') : nav.removeClass('ffd-nav').addClass('ffn-nav');
}
}, {
num: $('#nav').offset().top,
nav: $('.Top-wrapper'),
fn: function (num, nav) {
return ($(this).scrollTop() > num) ? nav.addClass('ffd-wrapper') : nav.removeClass('ffd-wrapper');
}
}, {
num: $('#nav').offset().top,
nav: $('.container-wrapper, #main-nav, #main-nav ul li a'),
fn: function (num, nav) {
return ($(this).scrollTop() > num) ? nav.addClass('ffd-all') : nav.removeClass('ffd-all');
}
}, {
num: $('#main-nav li.search-box').offset().top,
nav: $('#main-nav li.search-box'),
fn: function (num, nav) {
return ($(this).scrollTop() > num) ? nav.addClass('ffd-shrs') : nav.removeClass('ffd-shrs');
}
}, {
num: $('#selectnav1').offset().top,
nav: $('#selectnav1'),
fn: function (num, nav) {
return ($(this).scrollTop() > num) ? nav.addClass('ffd-nn11') : nav.removeClass('ffd-nn11');
}
}, {
num: $('.selectnav').offset().top,
nav: $('.selectnav'),
fn: function (num, nav) {
return ($(this).scrollTop() > num) ? nav.addClass('ffd-nn') : nav.removeClass('ffd-nn');
}
}, {
num: $('#sidebar').offset().top,
nav: $('#sidebar'),
fn: function (num, nav) {
return ($(this).scrollTop() > num) ? nav.addClass('ffd-sdbrr') : nav.removeClass('ffd-sdbrr');
}
}];
arr.forEach(function (row) {
$(window).scroll(row.fn(row.num, row.nav));
});
});
中替换 android:textCursorDrawable
。< / p>
参考文献:
答案 1 :(得分:1)
您可以按操作和过滤器自定义结帐字段。
请参阅官方文档here
// Add these code in your theme's function.php
add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );
// Our hooked in function - $address_fields is passed via the filter!
function custom_override_default_address_fields( $fields) {
$fields['billing']['your_field']['options'] = array(
'option_1' => 'Option 1 text',
'option_2' => 'Option 2 text'
);
return $fields;
}
如果您正在寻找插件,可以使用woocommerce团队的checkout field editor。