WooCommerce Local Pickup Plus下单后清空账户收货地址字段问题咨询
Local Pickup Plus下单后账户收货地址被清空的原因分析
虽然前端输入框ID不同,但出现这种问题通常和以下几个逻辑有关:
- 订单地址同步机制触发:WooCommerce默认会把订单中的收货地址同步到用户账户的默认收货地址。Local Pickup Plus处理自提订单时,可能会将订单的
shipping_address_1等收货地址字段设为空值,触发同步后就会清空账户对应的地址内容。 - 插件后端逻辑覆盖:插件的后端代码(比如订单提交相关的钩子)可能没正确区分自提点地址和用户收货地址,在保存订单数据时错误覆盖了WooCommerce核心的收货地址元数据,而非仅存储自提点专属的
_address_1字段。 - 前端JS隐性操作:即使输入框ID不同,插件的JavaScript代码可能在提交结账表单时,隐性清空了WooCommerce收货地址输入框的值,导致表单提交时这些字段为空,最终同步到账户地址。
排查方向
- 检查插件是否使用
woocommerce_checkout_update_order_meta或类似钩子,查看是否有修改收货地址字段的代码 - 开启WooCommerce调试日志,查看下单过程中地址字段的修改记录
- 临时禁用Local Pickup Plus,测试下单后账户地址是否正常,确认问题来源
相关输入框代码
Local Pickup Plus地址输入框:
<input type="text" id="_address_1" name="_address_1" class="address_1" value="Storgatan 24" spellcheck="false" data-ms-editor="true">
WooCommerce收货地址输入框:
<input type="text" class=" input-text " name="shipping_address_1" id="shipping_address_1" placeholder="Gatunamn och nummer" address-line1="" value="Aqil kor" data-placeholder="Gatunamn och nummer">
内容的提问来源于stack exchange,提问作者ZiaUllahZia
相关产品推荐
相关产品推荐

