Простейший способ очистки корзины текущего пользователя в одну строчку кода.
$korzina = new WC_Cart(); $korzina->empty_cart( $clear_persistent_cart = true );
Или же вариант, который мне больше нравится:
global $woocommerce; $woocommerce->cart->empty_cart( $clear_persistent_cart = true );
false
, если не хотите затрагивать постоянную корзину (которая сохраняется в usermeta пользователей, а соответственно параметр игнорируется, если пользователь не авторизован, проверка происходит функцией get_current_user_id()).Можете вставить этот код прямо в файл определённого шаблона темы или же в какую-либо функцию.
global $woocommerce; $woocommerce->cart->empty_cart();
Выполняется уже после того, как корзина была очищена. Например обновим метаданные текущего пользователя после того, как его корзина станет пустой (неважно каким способом).
add_action( 'woocommerce_cart_emptied', 'true_chistaya_korzina'); function true_chistaya_korzina(){ update_user_meta( get_current_user_id(), '_some_user_meta', 'hello'); }
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.