The_Lars
@The_Lars

Кнопка очистки корзины в woocimmerce?

Нужно сделать кнопку для очистки корзины. Пробовал сделать так
add_action( 'init', 'woocommerce_clear_cart_url' );
function woocommerce_clear_cart_url() {
global $woocommerce;

if ( isset( $_GET['empty-cart'] ) ) {
$woocommerce->cart->empty_cart();
}
}

<a class="button" href="<?php echo $woocommerce->cart->get_cart_url(); ?>?empty-cart"><?php _e( 'Empty Cart', 'woocommerce' ); ?>

И страница перестаёт загружаться.
Есть какие альтернативы? Желательно без плагина.
  • Вопрос задан
  • 2223 просмотра
Решения вопроса 1
Punkie
@Punkie
Кнопка:
<form class="clear-cart" action="<?php echo esc_url( wc_get_cart_url() ); ?>" method="post"><button type="submit" onclick='javascript:if(!confirm("Удалить все товары из корзины?")) {return false;}' class="button" name="clear-cart">Очистить корзину</button></form>

- обязательно в теге form. Проследите ,чтобы form не вложился в другой form

Код для functions.php:

add_action('init', 'woocommerce_clear_cart_url');
function woocommerce_clear_cart_url() {
    global $woocommerce;
    if( isset($_REQUEST['clear-cart']) ) {
        $woocommerce->cart->empty_cart();
    }
}


Скопировал из своего текущего проекта - всё работает.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы