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

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

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

Код можно вставлять в functions.php вашей текущей темы, либо дочерней, если вы боитесь потерять изменения при обновлении темы.

add_action( 'template_redirect', 'truemisha_add_product_to_cart' );
 
function truemisha_add_product_to_cart() {
 
	// сначала определяемся с ID товара
	$product_id = 55;
 
	if ( is_page( 'contact' ) ) {    
		WC()->cart->empty_cart(); // если хотите сначала очистить корзину
		WC()->cart->add_to_cart( $product_id ); 
	}
 
}

Итак,

  • Я решил, что оптимально использовать хук template_redirect, как бы там ни было, вам явно лучше использовать его, особенно, если после добавления товара в корзину, вы захотите например редиректнуть пользователя на страницу оформления заказа при помощи wp_redirect() и wc_get_checkout_url().
  • Проверка нахождения на целевой странице осуществляется самой обычной is_page(), по сути нам подходят любые доступные условные теги WordPress.
  • Строчка WC()->cart->empty_cart() тоже не будет лишней, потому что каждый раз, когда пользователь будет обновлять целевую страницу, количество товара в корзине будет увеличиваться 😁 Если очищать корзину для вас не вариант, то чекайте это.

Миша

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

Пишите, если нужна помощь с сайтом или разработка с нуля.

Комментарии — 2

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

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал