在测试期间,我如何可靠地重置购物车中Woocommerce用户选择的运输方式


How can I reliably reset the Woocommerce user selected shipping method in the cart during testing?

根据最近在Github上与Woocommerce开发人员的对话。

一旦您计算了运费,或选择了一种方法,或者转到购物车/结帐,所选方法将保留并覆盖您的默认设置。

在测试过程中是否有一种简单的方法来保证用户选择的运输方式已被重置。我已经尝试了硬刷新/隐身模式/重新打开浏览器/清除cookie/瞬态等的各种组合,但我不确定一种简单可靠的方法来重置它,以便我可以正确测试。

我可以猜到,如果我要执行上述所有操作,则有可能已经重置了,但对于测试,我想 a) 确定地知道和 b) 以最少的工作量重置用户输入,因为它可能会重复多次。

编辑:我发现在woocommerce状态>工具部分中单击清除会话似乎确实可以做到这一点,但我再次在寻找权威答案

编辑2:我正在寻找一种操作方法来做到这一点,而不是程序化的方法。

看看WooCommerce Shipping Class。 具体来说,reset_shipping() 方法。

您可以通过以下方式重置已存储到会话的所选传送方式:

<?php unset( WC()->session->chosen_shipping_methods ); ?>

编辑:执行此操作的非编程方法是前往WP管理仪表板并导航到:WooCommerce --> System Status --> Tools然后单击"客户会话"部分下的"清除所有会话"。

如消息所述,这将从数据库中删除所有客户的所有会话数据。这包括实时购物车和选择的运输方式(正如您从上面的编程答案中看到的那样,这些都包含在 WooCommerce 会话中)。