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');
}

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.