我在帐单和送货地址中添加了几个额外的字段。其中之一是折扣,只能由管理员添加(对其他人隐藏)。不同的送货地址有不同的折扣(我使用的是为每个客户保存多个地址的暴跌)。
在结帐期间,我想加载该送货地址的折扣。我正在通过 ajax 调用一个方法(还有其他字段在更改时也会更新运输方式和支付网关),效果很好。对于这些字段,我只是通过 JS 将它们的值传递给 PHP,方法是从表单中获取它们。我不能因为折扣而这样做,因为有人可能只是打开开发人员工具并手动更改折扣。我需要从数据库中获取它。
在卡首次加载时调用的那个方法中,我尝试按如下方式获取地址:
WC()->order->get_address('shipping');
但是我收到一个错误,好像该方法不存在一样。
And WC()->order返回空。
我加载WC()->customer了,我可以在那里看到它,但它隐藏在一些非常深的嵌套对象和数组中,你可以看出这些对象和数组会因客户而异。并且WC()->session只有默认地址字段(不是我的自定义字段)。
有任何想法吗?