WooCommerce-在现有结帐字段上覆盖帐单状态和邮政编码

艺术

我找不到ovveride帐单状态和邮政编码的方法。

如何编辑现有帐单字段的其他部分,例如帐单状态和邮政编码?

这是functions.php我子主题中文件中的内容(我包括影响计​​费部分的代码):

    <?php
function my_custom_checkout_field( $checkout ) {
  global $wpdb;
  $check_zone  = $wpdb->get_results("select area_name from brick_area where id='".$_SESSION['area']."'",ARRAY_A);

                if(!empty($check_zone)){
                    $check_zoneid = $check_zone['0'];
                }


    woocommerce_form_field( 'my_field_name', array(
        'type'          => 'text',
        'class'         => array('my-field-class form-row-wide'),
        'label'         => __('Delivery Area'),
        'placeholder'   => __('Area'),
        'readonly'      =>'readonly',
        'default'       => $check_zoneid['area_name']
        ), $checkout->get_value( 'my_field_name' ));


    woocommerce_form_field( 'my_expected_date', array(
        'type'          => 'text',
        'class'         => array('my-field-class form-row-wide'),
        'required'      => true,
        'label'         => __('Expected Delivery Date'),
        'placeholder'   => __('Enter expected delivery date.'),
        ), $checkout->get_value( 'my_expected_date' ));

   /*woocommerce_form_field( 'my_expected_time', array(
        'type'          => 'text',
        'class'         => array('my-field-class form-row-wide'),
        'required'      => true,
        'label'         => __('Expected Delivery Time'),
        'placeholder'   => __('Enter expected delivery time.'),
        ), $checkout->get_value( 'my_expected_time' ));*/

    woocommerce_form_field( 'site_contact_name', array(
        'type'          => 'text',
        'class'         => array('my-field-class form-row-wide'),
        'required'      => true,
        'label'         => __('Site Contact Person Name'),
        'placeholder'   => __('Enter site contact person name.'),
        ), $checkout->get_value( 'site_contact_name' ));    

    woocommerce_form_field( 'site_contact_phone', array(
        'type'          => 'tel',
        'class'         => array('my-field-class form-row-wide'),
        'required'      => true,
        'label'         => __('Site Contact Phone Number'),
        'placeholder'   => __('Enter site contact phone number.'),
        ), $checkout->get_value( 'site_contact_phone' ));       

}
        $fields['billing']['billing_city']['default'] = $_SESSION['cn'];
        add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );
        function custom_override_default_address_fields( $address_fields ) {

            // we are changing here billing_state field to required
            $fields['billing']['billing_state']['required'] = true;

            return $address_fields;
        }
        /*$fields['billing']['my_field_name']['default'] = $check_zoneid['area_name'];
        $fields['billing']['my_field_name']['label'] = 'Area';*/

        return $fields;
        }
 ?>      

谢谢

LoicTheAztec

这是帐单状态和帐单邮递区号覆盖的完整方法,使帐单选择器带有选项。

这是功能齐全且经过测试的代码:

  1. 取消设置帐单状态和邮政编码结帐字段
add_filter( 'woocommerce_checkout_fields' , 'partial_unsetting_checkout_fields' );
function partial_unsetting_checkout_fields( $fields ) {
     unset($fields['billing']['billing_state']);
     unset($fields['billing']['billing_postcode']);

     return $fields;
}
  1. 重新插入自定义帐单状态和邮政编码结帐字段
add_filter( 'woocommerce_default_address_fields' , 'art_override_default_address_fields' );
function art_override_default_address_fields( $address_fields ) {

  // @ for state
    $address_fields['billing_state']['type'] = 'select';
    $address_fields['billing_state']['class'] = array('form-row-wide');
    $address_fields['billing_state']['required'] = true;
    $address_fields['billing_state']['label'] = __('State', 'my_theme_slug');
    $address_fields['billing_state']['placeholder'] = __('Enter state', 'my_theme_slug');
    $address_fields['billing_state']['default'] ='Choice 1';
    $address_fields['billing_state']['options'] = array(
        'option_1' => 'Choice 1',
        'option_2' => 'Choice 2',
        'option_3' => 'Choice 3'
    );

    // @ for postcode
    $address_fields['billing_postcode']['type'] = 'text';
    $address_fields['billing_postcode']['class'] = array('form-row-wide');
    $address_fields['billing_postcode']['required'] = true;
    $address_fields['billing_postcode']['label'] = __('Postcode', 'my_theme_slug');
    $address_fields['billing_postcode']['placeholder'] = __('Enter your postcode', 'my_theme_slug');


    return $address_fields;
}

自然地,这会在您的活动子主题或主题的function.php文件中进行

官方参考:WooThemes-使用动作和过滤器自定义结帐字段


有关'class'财产的注意事项

有两种处理方法:

  • 该字段仅占一行(宽度100%),您可以使用: 'form-row-wide'
  • 在同一行上并排有2个字段,您可以使用:
    • 'form-row-first' 对于第一个领域
    • 'form-row-last' 对于第二个领域

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WooCommerce-在现有结帐字段上覆盖帐单状态和邮政编码

来自分类常见问题

在WooCommerce中设置结帐邮政编码字段的最大长度

来自分类Dev

在WooCommerce结帐时预定义的运输邮政编码验证

来自分类Dev

基于邮政编码的“选择的支付网关”拒绝WooCommerce结帐

来自分类Dev

在WooCommerce结帐页面中禁用邮政编码验证

来自分类Dev

无法在woocommerce中更改“邮政编码/ ZIP”字段标签

来自分类Dev

在WooCommerce中为访客和客户从字段设置邮政编码

来自分类Dev

WooCommerce:获取并设置送货和账单地址的邮政编码

来自分类Dev

WooCommerce默认送货邮政编码

来自分类Dev

无法覆盖WooCommerce结帐字段

来自分类Dev

在WooCommerce结帐上显示客户帐单邮寄地址和帐单城市,而不是“发货”标签

来自分类Dev

在访客的产品自定义输入字段中设置WooCommerce计费邮政编码

来自分类Dev

在访客的产品自定义输入字段中设置WooCommerce计费邮政编码

来自分类Dev

Woocommerce“没有运输方式”消息:根据客户输入的邮政编码自定义消息

来自分类Dev

WooCommerce:在结帐,我的帐户,管理订单和WordPress用户中添加生日帐单字段

来自分类Dev

WooCommerce:在结帐,我的帐户,管理订单和WordPress用户中添加生日帐单字段

来自分类Dev

在帐单地址woocommerce上添加新字段

来自分类Dev

在 Woocommerce 中将状态结帐字段设为可选

来自分类Dev

Woocommerce 结帐字段标签

来自分类Dev

WooCommerce结帐

来自分类Dev

如何从WooCommerce获取所有结帐字段?

来自分类Dev

添加额外的字段woocommerce结帐

来自分类Dev

在WooCommerce中添加购物车之前及早设置运输邮政编码

来自分类Dev

在管理员-> Woocommerce->订单的“订单”列表中显示运输邮政编码。

来自分类Dev

在WooCommerce的姓氏下添加自定义结帐单字段

来自分类Dev

如何更改woocommerce结帐的收到订单页面上的收货地址和帐单地址的文本?

来自分类Dev

Woocommerce 设置帐单和运输信息

来自分类Dev

Woocommerce编辑结帐布局

来自分类Dev

WooCommerce结帐布局

Related 相关文章

  1. 1

    WooCommerce-在现有结帐字段上覆盖帐单状态和邮政编码

  2. 2

    在WooCommerce中设置结帐邮政编码字段的最大长度

  3. 3

    在WooCommerce结帐时预定义的运输邮政编码验证

  4. 4

    基于邮政编码的“选择的支付网关”拒绝WooCommerce结帐

  5. 5

    在WooCommerce结帐页面中禁用邮政编码验证

  6. 6

    无法在woocommerce中更改“邮政编码/ ZIP”字段标签

  7. 7

    在WooCommerce中为访客和客户从字段设置邮政编码

  8. 8

    WooCommerce:获取并设置送货和账单地址的邮政编码

  9. 9

    WooCommerce默认送货邮政编码

  10. 10

    无法覆盖WooCommerce结帐字段

  11. 11

    在WooCommerce结帐上显示客户帐单邮寄地址和帐单城市,而不是“发货”标签

  12. 12

    在访客的产品自定义输入字段中设置WooCommerce计费邮政编码

  13. 13

    在访客的产品自定义输入字段中设置WooCommerce计费邮政编码

  14. 14

    Woocommerce“没有运输方式”消息:根据客户输入的邮政编码自定义消息

  15. 15

    WooCommerce:在结帐,我的帐户,管理订单和WordPress用户中添加生日帐单字段

  16. 16

    WooCommerce:在结帐,我的帐户,管理订单和WordPress用户中添加生日帐单字段

  17. 17

    在帐单地址woocommerce上添加新字段

  18. 18

    在 Woocommerce 中将状态结帐字段设为可选

  19. 19

    Woocommerce 结帐字段标签

  20. 20

    WooCommerce结帐

  21. 21

    如何从WooCommerce获取所有结帐字段?

  22. 22

    添加额外的字段woocommerce结帐

  23. 23

    在WooCommerce中添加购物车之前及早设置运输邮政编码

  24. 24

    在管理员-> Woocommerce->订单的“订单”列表中显示运输邮政编码。

  25. 25

    在WooCommerce的姓氏下添加自定义结帐单字段

  26. 26

    如何更改woocommerce结帐的收到订单页面上的收货地址和帐单地址的文本?

  27. 27

    Woocommerce 设置帐单和运输信息

  28. 28

    Woocommerce编辑结帐布局

  29. 29

    WooCommerce结帐布局

热门标签

归档