Изменить перенаправление в корзину после успешного добавления товара

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Сайт на WordPress 5.8.2, на котором установлен WooCommerce 3.4.8, собственно получается интернет-магазин по продажи какого то товара. Находясь на карточке товара, пользователь может на жать на кнопку «В корзину» и происходит переход пользователя в корзину с добавлением товара.

Данная функция настраивается в плагине WooCommerce, в админке, тоесть перенаправление пользователей в корзину.

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

Один из вариантов это исправить, это изменить редирект в корзину.

Изменение редиректа в корзину

Если проанализировать код плагина woocommerce, то можно найти что при редиректе используется фильтр woocommerce_add_to_cart_redirect, на вход которого подается урл и на выходе урл, куда перенаправлять.

Нам остается переопределит этот фильтр в свою пользу.

Открываем файл функции темы (functions.php), и добавляем туда следующий код


add_filter('woocommerce_add_to_cart_redirect', 'rain_add_to_cart_redirect');

function rain_add_to_cart_redirect(){
  $url = pll__('/cart/');
  return $url;
}

во внутрь функции rain_add_to_cart_redirect, можно заложить любой другой код, главное чтоб на выходе был тот урл который вам нужен, и если надо, можно и условия вставить


if(isset( $_POST['add-to-cart'] )){

. . .

}

Срабатывать при существовании определенной переменной в пост запросе

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

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