2017-11-01 44 views
0

私はWordpress - Woocommerce Website.On私のウェブサイトで私は次のコードを使用して空のカートボタンを追加しました。ユーザーがin.Whenユーザーのみが利用者の時に働いて、その後、カートがempty.Thisコードではありません空のカートボタンを適用するログインログインout.Iは、の最新バージョンを使用していますログインしたときに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>"; 
} 

このコードは動作しませんwoocommerce 3.2.2。

修正方法を理解できません。

+0

WooCommerce以外のプラグインをすべてオフにして、プラグインの問題がないかどうかを確認してください。私はあなたがここからコピーして貼り付けたコードをテストし、うまくいきます。 https://gist.github.com/BFTrick/4e94862ec64d56164b960aa16701e090 –

+0

私の問題は、ログインしたユーザーが空のカートボタンを押してからカートが空ではないことです。 – sarun

+0

このコードは、ユーザーのログイン状態に関係なく機能します。それがカートを空にしないなら、どこかに問題がある。 –

答えて

0

カートもそこに保存されているので、ユーザーのセッションもクリアする必要があります。

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

ここからコードをコピーして貼り付けています。 https://gist.github.com/BFTrick/4e94862ec64d56164b960aa16701e090私はコードを試して、それは正常にセッションをクリアせずに動作します。 empty_cart()関数はデフォルトで永続データを消去します。 –

関連する問題