WC_Cart::empty_cart() — как очистить корзину в WooCommerce

Простейший способ очистки корзины текущего пользователя в одну строчку кода.

$korzina = new WC_Cart();
$korzina->empty_cart( $clear_persistent_cart = true );

Или же вариант, который мне больше нравится:

global $woocommerce;
$woocommerce->cart->empty_cart( $clear_persistent_cart = true );
$clear_persistent_cart
(логическое) Укажите false, если не хотите затрагивать постоянную корзину (которая сохраняется в usermeta пользователей, а соответственно параметр игнорируется, если пользователь не авторизован, проверка происходит функцией get_current_user_id()).

Пример. Просто очищаем корзину.

Можете вставить этот код прямо в файл определённого шаблона темы или же в какую-либо функцию.

global $woocommerce;
$woocommerce->cart->empty_cart();

Хук woocommerce_cart_emptied

Выполняется уже после того, как корзина была очищена. Например обновим метаданные текущего пользователя после того, как его корзина станет пустой (неважно каким способом).

add_action( 'woocommerce_cart_emptied', 'true_chistaya_korzina');
 
function true_chistaya_korzina(){
	update_user_meta( get_current_user_id(), '_some_user_meta', 'hello');
}

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал