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

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

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

Код можно вставлять в 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() тоже не будет лишней, потому что каждый раз, когда пользователь будет обновлять целевую страницу, количество товара в корзине будет увеличиваться 😁 Если очищать корзину для вас не вариант, то чекайте это.

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

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