php - 能够通过“添加到购物车”网址传递变量并在结帐时查询它们吗?

标签 php javascript wordpress woocommerce

我一直在尝试将用户从产品页面输入的变量传递到购物车中,以便当用户结帐时我可以利用该数据。

我很困惑是否应该使用自定义字段/变量/或其他一些方法来完成这项工作。我之前会尝试描述确切的工作流程,以便我的用例更加清晰。

1)用户登陆特定的简单产品页面

2) 在用户单击“添加到购物车”按钮之前,他们必须从与 WordPress 分离的身份验证服务器验证其帐户凭据。

3) 详细信息经过验证后,用户可以单击“添加到购物车”,购物车中的产品将以某种形式附加用户详细信息,以便在结帐时查询。

4) * 此时用户交互已完成

5) * 在结帐时,我已经 Hook 了 add_action( 'woocommerce_order_status_completed', 'order_system' );检查购物车和购物车内的元素

6) * *我需要检索随项目一起传递的变量 **

7) ** 然后我的结账 Hook 将引用的变量发布到 API **

非常感谢任何帮助,我已经为此苦苦挣扎了一段时间。

最佳答案

这个guide我写的可能非常适合您的需要。这个插件是不同的,但它应该具有您根据自己的需要修改它所需的所有 Hook 和信息。

我展示了添加自定义表单以及将用户输入的值添加到购物车元中的所有步骤,以便您可以在结帐过程中查询它。

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应该有效的示例。

关于php - 能够通过“添加到购物车”网址传递变量并在结帐时查询它们吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16943260/

相关文章:

PHPUnit - 为接口(interface)编写测试类,并使用工厂测试对象

php - Shell 运行/执行带参数的 php 脚本

javascript - IE8 中的 google map 意外调用

javascript - <p> 元素中的数组,每个到换行符?

javascript - 我可以使用 JS 将链接中的 GET 参数替换为 Post 吗?

php - 使用 WordPress 登录凭据的外部应用程序登录

javascript - 如何在php中将日期和时间格式化为CRON格式?

PHP 不返回数据库项

javascript - 如何在每个设备中正确显示相同的星号?

css - 向 WordPress 主题编辑器添加额外的 CSS 文件