Php Woocommerce-清除主页上的购物车(登录时不工作)

Php Woocommerce-清除主页上的购物车(登录时不工作),php,jquery,wordpress,woocommerce,cart,Php,Jquery,Wordpress,Woocommerce,Cart,我正试图清除主页上的购物车。我已将此部分添加到主页标题部分: <script type='text/javascript'> function clearCart() { jQuery.post( "https://abcdefgh.com/wp-admin/admin-ajax.php", //ajaxurl, {

我正试图清除主页上的购物车。我已将此部分添加到主页标题部分:

 <script type='text/javascript'>      
    function clearCart() {
            jQuery.post(
                "https://abcdefgh.com/wp-admin/admin-ajax.php", 
                //ajaxurl, 
                {
                    "action": "clearcart"
                } 

            );
  console.log('its homepage bro!');
 }  
  jQuery(document).ready(function(){
    clearCart();
  });
  </script>
如果用户未登录,则在主页上清除购物车。但是,如果用户已登录,则尽管执行了javascript部分(我通过控制台日志进行了检查),但它仍无法工作


您认为为什么会发生这种情况?我如何解决它?

您不需要使用Ajax。我只是选择性地使用一点jQuery来刷新/更新相关的购物车数据(如在迷你购物车中):

add_操作('wp_footer','clear_the_cart_in_home_refresh');
功能清除\u主页中的\u购物车\u刷新(){
//当购物车不为空时,仅在主页中
如果(WC()->cart->is_empty())返回;
如果(!is_front_page())返回;
//空车
WC()->cart->empty_cart(true);
WC()->session->set('cart',array());
//重置微型购物车计数并更新页面内容(如果需要)
?>
jQuery(文档).ready(函数($){
setTimeout(函数(){
$('body')。触发器('wc_fragment_refresh');
$('body')。触发器('updated_wc_div');
}, 100);
});

这是一种疯狂的尝试方式。与其要求解释,不如告诉我们你想做什么。“我正试图清除主页上的购物车。”正如你所看到的,我已经告诉过你了。在一些场合工作过。
add_action('wp_ajax_nopriv_clearcart',function(){
    global $woocommerce;
    $woocommerce->cart->empty_cart(true);
  });
add_action( 'wp_footer', 'clear_the_cart_in_home_refresh' );
function clear_the_cart_in_home_refresh(){
    // Just in home page when cart is not empty
    if( WC()->cart->is_empty() ) return;
    if( ! is_front_page() ) return;

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

    // Reset minicart count and update page content (if needed)
    ?>
    <script type='text/javascript'>
        jQuery(document).ready(function($){
            setTimeout(function() {
                $('body').trigger('wc_fragment_refresh');
                $('body').trigger('updated_wc_div');
            }, 100);
        });
    </script>
    <?php
}