我一直难以尝试将用户从产品页面输入的变量传递到购物车中,以便在用户结帐时我可以使用该数据。
我很困惑我是否应该使用自定义字段/变量/或其他方法来使其工作。我会尝试描述确切的工作流程,因此我的用例很明确。
1)用户登陆特定的简单产品页面
2)在用户点击“添加到购物车”按钮之前,他们必须从与wordpress分离的auth服务器验证其帐户凭据。
3)验证详细信息后,用户可以点击添加到购物车,购物车中的产品将以某种形式附加用户详细信息,以便在结帐时查询。
4)*此时用户互动已完成
5)*在结账时我挂钩了add_action('woocommerce_order_status_completed','order_system');检查购物车和购物车内的物品
6) * * 我需要检索与项目一起传递的变量 * *
7)**我的结账挂钩然后将引用的变量POST到API **
非常感谢任何帮助,我现在已经挣扎了一段时间了。
答案 0 :(得分:2)
我写的guide可能非常适合您的需求。这个插件是不同的,但它应该有你需要的所有钩子和信息,以满足你自己的需要。
我展示了添加自定义表单并将用户输入的值添加到购物车元数据的所有步骤,以便您可以在结帐过程中查询它。
function is_xaik_wc_in_cart() {
global $woocommerce;
if (sizeof($woocommerce->cart->get_cart())>0) :
foreach ($woocommerce->cart->get_cart() as $item_id => $values) :
if (isset($values['_xatik_wc_data'])) :
return TRUE;
endif;
endforeach;
endif;
return FALSE;
}
一旦你知道它在购物车中,你可以查询它在购物车上做另一个foreach循环。或者只需修改功能即可立即完成所有操作。
所有这些变量都应该与购物车元信息保持一致。
这是一个应该有效的gist示例。
答案 1 :(得分:0)
在购物车上,您的主要目标是尽可能简化购物,因此您不应该使用java脚本变量或自定义隐藏字段(我假设您正在讨论这些),如果您这样做,那些变量将如果用户退出您的网站,他就会丢失,或者只是在向汽车添加内容后回击。
尝试使用Cookie或会话。
您可以找到有关Cookie Here
的信息