Wordpress 空购物车功能不工作

Wordpress 空购物车功能不工作,wordpress,woocommerce,cart,Wordpress,Woocommerce,Cart,我有一个Wordpress-Woocommerce网站。在我的网站上,我使用以下代码添加了空购物车按钮 add_action( 'init', 'woocommerce_clear_cart_url' ); function woocommerce_clear_cart_url() { global $woocommerce; if ( isset( $_GET['empty-cart'] ) ) { echo "test"; //exit;

我有一个Wordpress-Woocommerce网站。在我的网站上,我使用以下代码添加了空购物车按钮

add_action( 'init', 'woocommerce_clear_cart_url' );
function woocommerce_clear_cart_url() {
    global $woocommerce;
    if ( isset( $_GET['empty-cart'] ) ) {
        echo "test";
        //exit;
        $woocommerce->cart->empty_cart(true);
    }
}
add_action( 'woocommerce_cart_actions', 'patricks_add_clear_cart_button', 20 );
function patricks_add_clear_cart_button() {
    echo "<a class='button' href='?empty-cart=true'>" . __( 'Empty Cart', 'woocommerce' ) . "</a>";
} 
add_action('init','woocommerce\u clear\u cart\u url');
功能:电子商务\u清除\u购物车\u url(){
全球商业;
如果(isset($\u GET['empty-cart'])){
回声“测试”;
//退出;
$woocommerce->cart->empty_cart(true);
}
}
添加操作('woocommerce\u cart\u actions'、'Patrick\u添加\u clear\u cart\u button',20);
功能patricks\u add\u clear\u cart\u按钮(){
回声“;
} 
当用户登录时,此代码不起作用。当用户登录时,应用“空购物车”按钮,则购物车不为空。此代码仅在用户注销时起作用。我使用的是woocommerce 3.2.2的最新版本


我不明白怎么修理

您还需要清除用户的会话,因为购物车也存储在那里

// Empty cart
WC()->cart->empty_cart(true);
WC()->session->set('cart', array());

您还需要清除用户的会话,因为购物车也存储在那里

// Empty cart
WC()->cart->empty_cart(true);
WC()->session->set('cart', array());

我在通过ajax进行前端登录时遇到了这个问题,ajax填充了购物车,但这些解决方案不起作用。以下内容适用于我的案例

wp_set_current_user( $user_id); // Let woo commerce see the new user
WC()->cart->get_cart_from_session(); // Load users session
WC()->cart->empty_cart(true); // Empty the cart
WC()->session->set('cart', array()); // Empty the session cart data

// Blah Blah Blah ...

// WC()->cart->add_to_cart($product_id);

// Blah Blah Blah ...

do_action('shutdown'); // Make woocommerce save the cart
die();

我在通过ajax进行前端登录时遇到了这个问题,ajax填充了购物车,但这些解决方案不起作用。以下内容适用于我的案例

wp_set_current_user( $user_id); // Let woo commerce see the new user
WC()->cart->get_cart_from_session(); // Load users session
WC()->cart->empty_cart(true); // Empty the cart
WC()->session->set('cart', array()); // Empty the session cart data

// Blah Blah Blah ...

// WC()->cart->add_to_cart($product_id);

// Blah Blah Blah ...

do_action('shutdown'); // Make woocommerce save the cart
die();

他从这里复制并粘贴了代码。我尝试了这段代码,它在不清除任何会话的情况下运行良好。默认情况下,空的_cart()函数将清除持久数据。他从这里复制并粘贴代码。我尝试了这段代码,它在不清除任何会话的情况下运行良好。默认情况下,空的_cart()函数将清除持久数据。关闭除WooCommerce之外的所有插件,并检查是否存在任何插件问题。我测试了您从这里复制和粘贴的代码,效果很好。我的问题是当用户登录应用空购物车按钮时,购物车不是空的。否则它会工作。无论用户的登录状态如何,此代码都会工作。如果它没有清空购物车,那么你在其他地方有问题。是的,当我停用后续电子邮件插件时,你是正确的,然后它的工作空购物车甚至用户loggedin。向该插件的支持团队发送电子邮件,问他们这是否是已知问题。关闭除WooCommerce之外的所有插件,并检查是否存在任何问题插件问题。我测试了您从这里复制和粘贴的代码,效果很好。我的问题是当用户登录应用空购物车按钮时,购物车不是空的。否则它会工作。无论用户的登录状态如何,此代码都会工作。如果它没有清空购物车,那么你在其他地方有问题。是的,当我停用后续电子邮件插件时,你是正确的,然后它的工作空购物车甚至用户loggedin。向该插件的支持团队发送电子邮件,并询问他们这是否是已知问题。