我有一家Woocommerce花店。由于人们倾向于给其他人送花,我改变了账单和发货字段的顺序,将form-checkout.php复制到我的子主题文件夹中,并将发货部分移动到顶部。然而,我也想包括一个按钮/复选框,使用户能够复制发货信息到帐单字段。Woocommerce提供了与此选项相反的选项(复制账单信息到发货),但我需要这个的反向版本。任何帮助都将不胜感激。
发布于 2018-04-15 04:19:17
为此,您可以使用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>发布于 2021-01-15 15:36:20
正如上面所回答的,我做了一些修改,代码对我来说工作得很好,比如
使用复选框而不是按钮,我正在将账单地址字段的值复制到发货地址字段。
//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‘的复选框字段
<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>https://stackoverflow.com/questions/49835577
复制相似问题