欢迎您光临本站,秉承服务宗旨,履行"站长"责任,销售只是起点,服务永无止境!
也想出现在这里? 联系我们

WooCommerce根据物流/快递方式隐藏账单/收货地址字段

作者 : admin 本文共1691个字,预计阅读时间需要5分钟 发布时间: 2020-11-30 共1.51K人阅读
也想出现在这里? 联系我们

WooCommerce根据用户选择的物流/快递方式隐藏账单/收货地址字段,在WooCommerce的结账流程设计中,系统默认认为用户在网站上购买商品需要发货到用户指定的地址。这也是标准的电商流程。当然、也有一些特殊情况,比如虚拟商品不需要发货的、用户选择发送到指定自提点的,这些情况都不需要用户输入所有的账单/收货地址字段。

用户选择物流方式后,在前端显示/隐藏某些字段。下面的代码示例中,当用户选择了本地取货的支付方式后,隐藏了公司、国家、地址行1、地址行2、城市、州/省份、邮编这些不必填写的收货地址字段。然后从平台给出的一些自提点中选择一个作为收货地址,系统把商品配送到这个自提点后,会通知用户去提货。

jQuery(document).ready(function($) {

/**

* 用户选择了某个支付方式后,显示或隐藏某些字段

*/

var wclp_show_address_button = function() {

var selected_method = $('input[name^="shipping_method"][type="radio"]:checked').val(),

address_fields = $(

'#billing_company_field,#billing_country_field,#billing_address_1_field,#billing_address_2_field, #billing_city_field, #billing_state_field, #billing_postcode_field');

if (selected_method === 'wclp_shipping_method') {

address_fields.hide();

} else {

address_fields.show();

}

};

/**

* 用户修改支付方式后

*/

$(document).on('change', 'input[name^="shipping_method"][type="radio"]', function(event) {

wclp_show_address_button();

});

/**

* 更新购物车后

*/

$(document.body).on('updated_checkout', function(data) {

wclp_show_address_button();

});

wclp_show_address_button();

});

WooCommerce 的收件地址字段中、有些是必填的,比如省份、城市、邮编、地址这些信息。第一步的代码中,我们只是从前端隐藏了这些字段,如果后端不做处理,用户选择自提点、点击提交后,系统会提示某些必填字段没有填写(因为这些字段是隐藏的,用户根本找不到填写的字段)。

这个时候,我们需要从后端把这些必填字段移除,以避免出现上面的错误。下面的代码中,我们移除了地址行1、州/省份、城市、邮编这些必填字段。

add_filter('woocommerce_checkout_fields', function ($fields)

{

$chosen_methods = WC()->session->get('chosen_shipping_methods');

$chosen_shipping = $chosen_methods[ 0 ];

if ($chosen_shipping == 'wclp_shipping_method') {

unset($fields[ 'billing' ][ 'billing_address_1' ]);

unset($fields[ 'billing' ][ 'billing_state' ]);

unset($fields[ 'billing' ][ 'billing_city' ]);

unset($fields[ 'billing' ][ 'billing_postcode' ]);

}

return $fields;

}, 990);

除了根据用户选择的物流方式,我们还可以根据用户购买的商品,选择性的移除某些字段,比如用户只购买了虚拟商品时,移除不必要的结账字段。

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
【演示站】Ripro子主题 » WooCommerce根据物流/快递方式隐藏账单/收货地址字段
也想出现在这里? 联系我们

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

发表评论

也想出现在这里? 联系我们
Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 京ICP备18888888号
开通VIP 享更多特权,建议使用QQ登录