افزودن خودکار محصول به سبد خرید در ووکامرس

افزودن خودکار محصول به سبد خرید در ووکامرس

اگر قصد دارید در زمانی که کاربر از سایت شما بازدید می‌کند بصورت خودکار یک محصول به سبد خریدش اضافه کنید می‌توانید از کد زیر استفاده کنید. این کد در هر بار بازدید کاربر از سایت سبد خرید را بررسی می‌کند، اگر محصول مورد نظر در سبد خریدش موجود نبود آن را به سبد خرید کاربر اضافه می‌کند. کد زیر را در جایی قرار دهید که اجرا شود.

/**
 * Automatically add product to cart on visit
 */
add_action( 'template_redirect', 'snippets_add_product_to_cart' );

function snippets_add_product_to_cart() {

	if ( ! is_admin() ) {
	
		$product_id = 64; //replace with your own product id
		$quantity = 1;
		$found = false;
		//check if product already in cart
		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 product not found, add it
			if ( ! $found )
				WC()->cart->add_to_cart( $product_id, $quantity );
		} else {
			// if no products in cart, add it
			WC()->cart->add_to_cart( $product_id, $quantity );
		}
		
	}
	
}

در کد بالا 64 شناسه محصول مورد نظر است. همچنین متغیر quantity تعداد محصول مورد نظر است که بصورت پیشفرض یک قرار داده شده است. همانطور که گفته شد این کد محصول با شناسه 64 را بصورت خودکار و بدون هیچ شرطی به سبد خرید کاربر اضافه می‌کند. در صورتی که قصد دارید این محصول فقط به سبدهای خرید بالاتر از مبلغی خاص اضافه شود از کد زیر استفاده کنید.

/**
 * Add another product depending on the cart total
 */
add_action( 'template_redirect', 'snippets_add_product_to_cart' );

function snippets_add_product_to_cart() {

  if ( ! is_admin() ) {
  
		$product_id = 64; //replace with your product id
		$quantity = 1;
		$found = false;
		$cart_total = 30000; //replace with your cart total needed to add above item

		if( WC()->cart->total >= $cart_total ) {
			//check if product already in cart
			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 product not found, add it
				if ( ! $found )
					WC()->cart->add_to_cart( $product_id, $quantity );
			} else {
				// if no products in cart, add it
				WC()->cart->add_to_cart( $product_id, $quantity );
			}
		}
		
	}
	
}

شما می‌توانید در متغیر cart_total مبلغ مورد نظر را وارد کنید. این کد در صورتی که جمع کل سبد خرید کاربر بیشتر از 30 هزار تومان شود، یک عدد از محصول با شناسه 64 را به سبد خرید کاربر اضافه می‌کند.

3 thoughts on “افزودن خودکار محصول به سبد خرید در ووکامرس

  1. با سلام و تشکر از راهنمایی های خوبتون
    من فروش گاهی دارم و میخوام وقتی مشتری به سبد خرید مراجعه کرد قبل از نمایش سبد خرید حق انتخاب یک یا چند خدمت که به شکل محصول تعریف شده ، ولی در محصولات دیده نمیشه ( یعنی نمی خوام اون موقع دیده بشه ) رو داشته باشه.
    اگر یک یا چند تا از اونها رو انتخاب کرد اونها هم به سبد اضافه بشه و اگر نه همون محصولات انتخابی تو فروشگاه.
    اگر ممکنه بفرمایید چجوری این رو پیاده کنم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *