Добавьте код в файл functions.php дочерней темы или используйте плагин, который позволяет добавлять пользовательские функции, например Code Snippets.
Не добавляйте код напрямую в файл functions.php родительской темы — при обновлении он будет перезаписан.
/**
* Автоматически добавляет товар в корзину при посещении сайта
*/
add_action( 'template_redirect', 'add_product_to_cart' );
function add_product_to_cart() {
if ( ! is_admin() ) {
$product_id = 64; // замените на свой ID товара
$found = false;
// проверяем, есть ли товар уже в корзине
if ( sizeof( WC()->cart->get_cart() ) > 0 ) {
foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
if ( $_product->get_id() == $product_id ) {
$found = true;
}
}
// если товара нет, добавляем
if ( ! $found ) {
WC()->cart->add_to_cart( $product_id );
}
} else {
// если корзина пуста, добавляем товар
WC()->cart->add_to_cart( $product_id );
}
}
}
Если нужно автоматически добавлять товар в корзину в зависимости от суммы корзины, используйте следующий код:
/**
* Добавляет товар в зависимости от суммы корзины
*/
add_action( 'template_redirect', 'add_product_to_cart' );
function add_product_to_cart() {
if ( ! is_admin() ) {
global $woocommerce;
$product_id = 2831; // замените на ID вашего товара
$found = false;
$cart_total = 30; // минимальная сумма корзины
if ( $woocommerce->cart->total >= $cart_total ) {
// проверяем, есть ли товар уже в корзине
if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) {
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
if ( $_product->get_id() == $product_id ) {
$found = true;
}
}
// если товара нет, добавляем
if ( ! $found ) {
$woocommerce->cart->add_to_cart( $product_id );
}
} else {
// если корзина пуста, добавляем товар
$woocommerce->cart->add_to_cart( $product_id );
}
}
}
}
