Как редиректить пользователя после удаления купона?

В этом уроке я хочу поделиться с вами супер-лёгким сниппетом кода, который позволит автоматически перенаправлять пользователей на произвольную страницу после того, как они удалили купон.

Кстати у меня на сайте есть видеокурс по WooCommerce, в котором мы выходим далеко за пределы работы с готовыми сниппетами кода!

/**
 * @snippet       Редирект при удалении купона
 * @author        Миша Рудрастых
 * @url           https://misha.agency/woocommerce/redirekt-polzovatelya-posle-udaleniya-kupona.html
 */
add_action( 'woocommerce_removed_coupon', 'true_redirect_on_coupon_removal', 20 );
 
function true_redirect_on_coupon_removal( $coupon_code ) { 
	// перенаправляем куда-либо
	wp_redirect( site_url( 'my-custom-page' ) ); // Укажите в параметрах свой URL
	exit; 
}
 
// отключение удаления купона через AJAX
add_filter( 'woocommerce_cart_totals_coupon_html', 'true_remove_coupon_class' );
 
function true_remove_coupon_class( $coupon_html ){
 
	return str_replace( 'class="woocommerce-remove-coupon"', '', $coupon_html );
 
}

Не знаете, куда вставлять код?

В этом коде обратите внимание на:

  • Наша функция принимает в качестве параметра переменную $coupon_code, что означает, что мы можем осуществлять редирект только для купонов с определённым кодом, а не для всех, добавив условие if( 'FRIDAYISBLACK' === $coupon_code ), где вам естественно нужно заменить FRIDAYISBLACK на свой код купона.
  • wp_redirect() – это стандартная функция WordPress, которая позволяет осуществлять редирект, но вы также можете использовать и wp_safe_redirect(), которая исключит возможность редиректа на левые сайты (мало ли). Ну и я использовал функцию site_url() для создания редиректа относительно нашего сайта, то есть URL для редиректа получится https://ваш-домен/my-custom-page. Замените эти значения на свои собственные.
  • И да, приоритет у хука woocommerce_removed_coupon установлен равным 20 не случайно. Если мы сделаем приоритет на стандартное значение 10, то редирект будет происходить до того, как удаление купона сохранится в сессию пользователя. Подробнее про то, как работают хуки, можете почитать здесь.

Миша

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

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

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