افزودن خودکار محصول به سبد خرید در ووکامرس
اگر قصد دارید در زمانی که کاربر از سایت شما بازدید میکند بصورت خودکار یک محصول به سبد خریدش اضافه کنید میتوانید از کد زیر استفاده کنید. این کد در هر بار بازدید کاربر از سایت سبد خرید را بررسی میکند، اگر محصول مورد نظر در سبد خریدش موجود نبود آن را به سبد خرید کاربر اضافه میکند. کد زیر را در جایی قرار دهید که اجرا شود.
/** * 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 “افزودن خودکار محصول به سبد خرید در ووکامرس”
با سلام و تشکر از راهنمایی های خوبتون
من فروش گاهی دارم و میخوام وقتی مشتری به سبد خرید مراجعه کرد قبل از نمایش سبد خرید حق انتخاب یک یا چند خدمت که به شکل محصول تعریف شده ، ولی در محصولات دیده نمیشه ( یعنی نمی خوام اون موقع دیده بشه ) رو داشته باشه.
اگر یک یا چند تا از اونها رو انتخاب کرد اونها هم به سبد اضافه بشه و اگر نه همون محصولات انتخابی تو فروشگاه.
اگر ممکنه بفرمایید چجوری این رو پیاده کنم.
از وب سایت و کدهایی که در اختیارمون قرار می دهید ممنونم
سلام خدمت مدیر محترم
آیا کدی هست که بگیم اگر فلان محصول خرید کرد بتوان محصول به سبد خریدش اضافه کرد؟
یعنی این عملیات وابسته به خرید یه محصول خاص کنیم