【发布时间】:2017-09-07 10:35:39
【问题描述】:
我在 WP WooCommerce 中遇到了一件奇怪的事情,我自己无法理解也无法解决。
问题是我在结帐页面中添加了一个清除按钮, 该按钮将我重定向到我的主页并添加一个 ?clear 参数。 然后我检查是否设置了该参数,如果设置了,则清除购物车;
代码:
if(isset($_POST["clear_cart"]))
{
header("Location: https://examplepage.com?clear");
}
add_action( 'init', 'woocommerce_clear_cart_url' );
function woocommerce_clear_cart_url()
{
global $woocommerce;
if(isset( $_GET['clear']))
{
$woocommerce->cart->empty_cart();
}
}
现在是错误/错误的事情。
此代码有效...一次。我现在会尽力解释。 当我第一次单击清除按钮时 - 它可以工作。 我被重定向到我的主页,购物车被清除,一切正常。
当我再次添加一些产品然后我清除购物车时 我再次被重定向到我的主页(前 4 行代码) 但我的购物车现在还没有清空。要清除它,我必须将我的参数更改为类似
?clear=true
然后我做同样的事情,点击清除购物车按钮后它再次重定向我并且购物车没有被清除。如果我再次将参数更改为
?clear=true
这一次它不起作用 - 因为它以前起作用。将参数更改为
?clear=true1
清空购物车。
我希望你已经明白我在说什么。 我尝试了各种参数而不是“清除”,并且每次发生同样的事情。
当我也尝试在
中回显某些内容时function woocommerce_clear_cart_url()
它也只工作过一次。我没有想法。
谢谢。
【问题讨论】:
-
为什么要先重定向用户然后清除购物车,只需在清除购物车按钮上添加 ajax 调用,并在响应到来时在 ajax 中清除购物车,将用户重定向到主页。
-
你是对的,那已经改变了。但它仍然无法按预期工作。
-
同样的事情发生了——我被重定向到我的主页,购物车被清除了(这表明我的购物车里还有一些产品,但是当我去检查它们时,它说它是空的)。跨度>
标签: php wordpress woocommerce cart