Как изменить Woocommerce с помощью дочерей темы. Часть 8 — Настройка страницы корзины

Автор: | 17.05.2020

Зная, как пользоваться action hook и filter hook можно с легкостью внести изменения на странице корзины. Например, добавить скидочный купон, которым пользователь может воспользоваться перед тем, как приступит к оплате.

Как добавить скидочный купон на страницу корзины

Для этого воспользуемся уже знакомым нам плагином Simply Show Hooks.

Допустим, мы хотим поместить купон после названия страницы, то есть слова «корзина».

Для этого нам подходит action: woocommerce_check_cart_items.

Настройка страницы корзины

Но для начала с помощью плагина ACF добавим купон на страницу товара. Если вы не знаете, как это сделать, ознакомьтесь с этой статьей.

Если коротко, то на создадим новую группу с полем image для станицы Корзина.

Настройка страницы корзины ACF

Зайдем на страницу и добавим изображение купона.

Настройка страницы корзины ACF

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

В файле functions.php пропишем следующий код

/* добавить купон в корзину */

function carolinaspa_add_banner_card(){

  global $post;

  $image_url = get_field('bunner', $post->ID);

  if($image_url):?>

<img src="<?php echo $image_url ?>" alt="coupon">

<?php endif;

    }

    add_action("woocommerce_check_cart_items", "carolinaspa_add_banner_card");

Добавить кнопку «очистить корзину»

Для удобства пользователей можно добавить кнопку, которая позволит очистить корзину одним нажатием.

Сделаем это с помощью хука woocommerce_cart_actions 

 кнопка очистить корзину

В functions.php пишем

/* Добавить кнопку удалить из корзины */   

function carolinaspa_empty_cart_button(){ ?>

<a class="button" href="?empty-cart=true">Очистить корзину</a>

<?php  }

      add_action("woocommerce_cart_actions", "carolinaspa_empty_cart_button");

Мы видим, что появилась кнопка, однако при нажатии товар не исчезает. Зато появляется такая строка  http://woocom/cart/?empty-cart=true

кнопка очистить корзину

Чтобы удалить товары нужно написать следующую функцию, которая проверяет наличие запроса ?empty-cart=true в адресной строке

function   carolinaspa_empty_cart(){

if(isset($_GET['empty-cart'])):

    global $woocommerce;

    $woocommerce->cart->empty_cart();

endif;

}

add_action("init", "carolinaspa_empty_cart");

кнопка очистить корзину

В следующей статье внесем некоторые изменения на станице оформления заказа.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

один × три =