【问题标题】:Is it possible to save data to two databases using woocommerce?是否可以使用 woocommerce 将数据保存到两个数据库?
【发布时间】:2013-05-30 10:12:27
【问题描述】:

我有一个使用 woo 商务车的 word press 网站,我想将我的客户详细信息保存到我们拥有的另一个 sql Server 数据库中。 是否可以通过保存到两个单独的数据库来成功付款。 (MySQL 和 SQL Server 都托管在 Azure 上)

我知道我也可以将 CSV 导出插件用于 woo commerce,但它对我们来说有点手动操作。

谢谢。

【问题讨论】:

    标签: php mysql sql-server wordpress woocommerce


    【解决方案1】:

    您可以使用钩子 woocommerce_checkout_order_processed 并在那里进行 SQL 连接/更新。

    add_action( 'woocommerce_checkout_order_processed', 'update_order_so_16833426', 10, 2 );
    
    function update_order_so_16833426( $order_id, $posted )
    {
        // do your thing
    }
    

    我还没有测试过,但是代码文档说$posted 包含一个已发布表单数据的数组。如有需要,您也可以使用$order_data = new WC_Order( $order_id );

    更新,也许你需要将钩子封装到另一个钩子中才能正确计时:

    add_action( 'plugins_loaded', 'do_woocommerce_hook_so_16833426' );
    
    function do_woocommerce_hook_so_16833426()
    {
        add_action( 'woocommerce_checkout_order_processed', 'update_order_so_16833426', 10, 2 );
    }
    

    【讨论】:

    • 谢谢 brasofilo,我是 wordpress 和 php 的新手,但我现在正在阅读所有这些内容。使用钩子看起来像是要走的路。这可能很明显,但我应该把 add_action 和我的新函数放在哪里?它会在 form-checkout.php 文件中吗?
    • 啊,我想我现在在 woocommerce-functions.php 中有它
    • @user2329438,不,你应该自己做插件,这很简单,也是最佳实践:wordpress.stackexchange.com/questions/72160/…
    • 谢谢你,我现在已经做到了,但我似乎无法使用 woocommerce_checkout_order_processed 来触发钩子。是因为支付网关重定向吗? wp_head 工作正常。
    • @user2329438,我已经更新了代码。 “wp_head 工作正常”是什么意思?
    【解决方案2】:

    当用户点击最终按钮时,您可以向自定义 php 页面发出 ajax 请求。

    如果您包含 jquery 来获取 footer.php 中的每个输入元素值,然后使用 ajax 将这些值传递到可以连接到您的其他数据库并插入值的自定义 php 页面,这应该非常简单。

    希望对您有所帮助! :)

    【讨论】:

    • 谢谢乔恩,我试图理解你所说的内容。因此,在包含所有客户输入详细信息的结帐页面上,有一个 woocomerece 下订单按钮,它将调用我的商家服务以获取信用卡详细信息。我想这是我将捕获细节的地方?在不影响重定向到商家服务的情况下,我将如何将他们的详细信息保存到我的 Sql DB?谢谢
    • 没错。如果你添加这样的东西:code $(document).ready(function(){ $('#place_order').click(function(){ $.ajax({ url:'http://YOUR_DOMAIN/YOUR_PHP_PAGE_HERE.php', data: $('#billing_first_name').val(); }); }); }); 那应该会给你这个想法。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 2018-08-21
    • 2023-03-18
    • 2023-03-22
    • 2011-12-06
    • 2019-03-10
    • 1970-01-01
    相关资源
    最近更新 更多