Php Woocommerce将发货地址复制到账单地址

Php Woocommerce将发货地址复制到账单地址,php,wordpress,woocommerce,shipping,billing,Php,Wordpress,Woocommerce,Shipping,Billing,我有一家花店。由于人们倾向于向其他人送花,我通过将form-checkout.php复制到我的子主题文件夹中,并将发送部分移到顶部,从而更改了计费和发送字段的顺序。但是,我还想包括一个按钮/复选框,使用户能够将配送信息复制到账单字段。Woocommerce提供了与此相反的选项(将账单信息复制到配送),但我需要此选项的反向版本。非常感谢您提供的任何帮助。您可以使用jQuery。下面是您可以使用的部分代码 $("#copy_to_billing").on("click", function(){

我有一家花店。由于人们倾向于向其他人送花,我通过将form-checkout.php复制到我的子主题文件夹中,并将发送部分移到顶部,从而更改了计费和发送字段的顺序。但是,我还想包括一个按钮/复选框,使用户能够将配送信息复制到账单字段。Woocommerce提供了与此相反的选项(将账单信息复制到配送),但我需要此选项的反向版本。非常感谢您提供的任何帮助。

您可以使用jQuery。下面是您可以使用的部分代码

  $("#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());
    }
  });
然后只需添加一个按钮即可触发如下代码:

<button id="copy_to_billing">Copy shipping details</button>
复制装运详细信息

您可以使用jQuery来实现这一点。下面是您可以使用的部分代码

  $("#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());
    }
  });
然后只需添加一个按钮即可触发如下代码:

<button id="copy_to_billing">Copy shipping details</button>
复制装运详细信息

如上所述,我做了一些更改,代码对我来说很好,就像

使用复选框而不是按钮,我将账单地址字段值转换为发货地址字段

//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());
        }
    });
转到您的主题/woocommerce/checkout/form-shipping.php(如果文件不存在,则从woocommerce复制到主题文件夹下的同一路径)。 并使用具有相同id的复选框字段“复制到账单”

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

如上所述,我做了一些更改,代码对我来说很好,就像

使用复选框而不是按钮,我将账单地址字段值转换为发货地址字段

//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());
        }
    });
转到您的主题/woocommerce/checkout/form-shipping.php(如果文件不存在,则从woocommerce复制到主题文件夹下的同一路径)。 并使用具有相同id的复选框字段“复制到账单”

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