将城镇/城市文本字段更改为结帐表单中的选择选项字段

时间:2016-09-26 08:59:20

标签: php wordpress select woocommerce checkout

在Woocommerce中,我想在选择字段选项字段中更改城镇/城市文本字段。

我该怎么办?

以下是截图:

enter image description here

由于

2 个答案:

答案 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