В этом уроке я хочу поделиться с вами супер-лёгким сниппетом кода, который позволит автоматически перенаправлять пользователей на произвольную страницу после того, как они удалили купон.
Кстати у меня на сайте есть видеокурс по 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_safe_redirect()
, которая исключит возможность редиректа на левые сайты (мало ли). Ну и я использовал функцию site_url() для создания редиректа относительно нашего сайта, то есть URL для редиректа получится https://ваш-домен/my-custom-page
. Замените эти значения на свои собственные.woocommerce_removed_coupon
установлен равным 20 не случайно. Если мы сделаем приоритет на стандартное значение 10, то редирект будет происходить до того, как удаление купона сохранится в сессию пользователя. Подробнее про то, как работают хуки, можете почитать здесь.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.