首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Woocommerce将发货地址复制到帐单地址

Woocommerce将发货地址复制到帐单地址
EN

Stack Overflow用户
提问于 2018-04-15 03:53:31
回答 2查看 4.1K关注 0票数 1

我有一家Woocommerce花店。由于人们倾向于给其他人送花,我改变了账单和发货字段的顺序,将form-checkout.php复制到我的子主题文件夹中,并将发货部分移动到顶部。然而,我也想包括一个按钮/复选框,使用户能够复制发货信息到帐单字段。Woocommerce提供了与此选项相反的选项(复制账单信息到发货),但我需要这个的反向版本。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2018-04-15 04:19:17

为此,您可以使用jQuery。以下是您可以使用的部分代码

代码语言:javascript
复制
  $("#copy_to_billing").on("click", function(){
    if (this.checked) {
      $("[name='first_name']").val($("[name='shipping_first_name']").val());
      $("[name='last_name']").val($("[name='shipping_last_name']").val());
      $("[name='billing_address_1']").val($("[name='shipping_address_1']").val());
      $("[name='billing_address_2']").val($("[name='shipping_address_2']").val());
      $("[name='billing_city']").val($("[name='shipping_city']").val());
      $("[name='billing_state']").val($("[name='shipping_state']").val());
      $("[name='billing_zip']").val($("[name='shipping_zip']").val());
      $("[name='billing_country']").val($("[name='shipping_country']").val());
    }
  });

然后你只需要添加一个按钮来触发代码,如下所示:

代码语言:javascript
复制
<button id="copy_to_billing">Copy shipping details</button>
票数 3
EN

Stack Overflow用户

发布于 2021-01-15 15:36:20

正如上面所回答的,我做了一些修改,代码对我来说工作得很好,比如

使用复选框而不是按钮,我正在将账单地址字段的值复制到发货地址字段。

代码语言:javascript
复制
//Paste this code in your theme js file
jQuery(document).on('change', '#copy_to_billing', function() {
        if(this.checked) {
            jQuery("[name='shipping_first_name']").val(jQuery("[name='billing_first_name']").val());
            jQuery("[name='shipping_last_name']").val(jQuery("[name='billing_last_name']").val());
            jQuery("[name='shipping_address_1']").val(jQuery("[name='billing_address_1']").val());
            jQuery("[name='shipping_address_2']").val(jQuery("[name='billing_address_2']").val());
            jQuery("[name='shipping_city']").val(jQuery("[name='billing_city']").val());
            jQuery("[name='shipping_state']").val(jQuery("[name='billing_state']").val());
            jQuery("[name='shipping_postcode']").val(jQuery("[name='billing_postcode']").val());
            jQuery("[name='shipping_country']").val(jQuery("[name='billing_country']").val());
        }
    });

转到your-theme/woocommerce/checkout/form-shipping.php (如果文件不存在,则在您的主题文件夹下的相同路径下从woocommerce复制)。并使用具有相同id 'copy_to_billing‘的复选框字段

代码语言:javascript
复制
<input id="copy_to_billing" type ="checkbox" name="copy_to_billing" value ="1" class="copy_billing woocommerce-form__input woocommerce-form__input-checkbox input-checkbox"><span><?php esc_html_e( 'Shpping address is same as billing', 'woocommerce' ); ?></span>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49835577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档