S@jj@D

امکان ثبت سفارش فقط از یک دسته بندی در هر تراکنش در ووکامرس

7 پست در این موضوع قرار دارد

سلام و وقت بخیر به همه دوستان ارجمند؛

همانطور که در عنوان نوشتم میخام در ووکامرس هر کاربر در هر تراکنش فقط از یک دسته بندی بتونه سفارش بده! برای روشن تر شدن مسئله الگوریتمش رو خدمتتون بیان میکنم:

1- کاربر در مرحله اول اجازه اضافه کردن محصول از هر دسته بندی رو به سبد خرید داره.

2- اضافه کردن محصول های بعدی به سبد خرید با شرط قرار گرفتن در دسته بندی اولین محصول اضافه شده به سبد صورت میگیره. (اگر محصول اول از دسته بندی X بوده محصولات بعدی هم باید از دسته بندی X باشن ... اگر محصول اول از دسته بندی Y بوده محصولات بعدی هم باید از دسته بندی Y باشن و همینطور الی آخر ...)

3- در صورت عدم رعایت مرحله 2 پیغام خطایی ظاهر بشه با این مضمون که "شما در هر بار سفارش (در هر تراکنش) فقط اجازه سفارش از یک دسته بندی را دارید" (حالا این پیغام خطا میتونه در هنگام کلیک بر روی افزودن به سبد خرید به صورت پاپ آپ ظاهر بشه یا مثه پیغام خطاهای معمول ووکامرس در بالای صفحه ظاهر بشه)

4- در صورت رعایت مرحله 2 کاربر مشکلی برای ادامه کار و تسویه حساب نداشته باشه و سفارش به صورت کامل ثبت بشه!

سپاس از شما.

به اشتراک گذاری این پست


لینک به پست
در در ۱۳۹۶/۱/۱۰ ه‍.ش. at 18:35، مهدی گفته است :

سلام


http://stackoverflow.com/a/35072168

 

درود و سپاس از شما اما این تاپیک رو دیده بودم نه این جوابگوی مشکل من نیست!

به اشتراک گذاری این پست


لینک به پست

این رو تست کنید

function itl_is_product_the_same_cat( $valid, $product_id, $quantity ) {
    global $woocommerce;

    foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
        $_product 	  = $values['data'];
        $terms 		  = get_the_terms( $_product->id, 'product_cat' );
        $target_terms = get_the_terms( $product_id, 'product_cat' ); // get the current items

        foreach ( $terms as $term ) {
            $cat_ids[] = $term->term_id;  // get all the item categories in the cart
        }
        foreach ($target_terms as $term) {
            $target_cat_ids[] = $term->term_id; // get all the categories of the product
        }
    }

	if ( ! empty ( WC()->cart->get_cart() ) && $valid ) {
		$same_cat = array_intersect( $cat_ids, $target_cat_ids ); // check if they have the same category

		if ( count( $same_cat ) == 1 ) {
			wc_add_notice( 'You can only have 1 item per category in your cart', 'error' );
			return false;
		} else {
			return $valid;
		}
	} else {
		return $valid;
	}
}
add_filter( 'woocommerce_add_to_cart_validation', 'itl_is_product_the_same_cat', 10, 3 );

 

به اشتراک گذاری این پست


لینک به پست

خیلی ممنونم از پیگیری شما آقا مهدی عزیز اما این کد به کاربر اجازه میده از هر دسته ای فقط یک محصول اضافه کنه به سبد خرید!

به اشتراک گذاری این پست


لینک به پست

متوجه نشدم، الان مشکل‌تون برطرف شد یا اینکه اصلا سوال‌تون چیز دیگه‌ای بود؟

به اشتراک گذاری این پست


لینک به پست

نه دیگه برطرف نشد! بنده عرض کردم میخام کاربر در هر تراکنش فقط از یک دسته بندی بتونه سفارش بده نه اینکه از هر دسته بندی یک آیتم فقط بتونه سفارش بده! کدی که شما دادین از هر دسته بندی یک آیتم فقط میتونه سفارش بده! من به صورت الگوریتم گفتم که مسئله روشن تر شه!

با مثال میگم این بار: فرض می کنیم یک دسته بندی داریم به نام "الف" و یک دسته بندی هم داریم به نام "ب"! کاربر برای اولین محصول میتونه از هر دو دسته بندی به سبد خریدش اضافه کنه! اما شرط ادامه خرید و تسویه حساب اینه که محصولات بعدی رو هم از همون دسته بندی انتخاب کنه! مثلا اگر محصول اول از دسته بندی "الف" بود محصولات بعدی هم از دسته بندی "الف" باشن و اگر محصول اول از دسته بندی "ب" بود محصولات بعدی هم از دسته بندی "ب" باشن! در غیر این صورت پیغام خطا ظاهر شه!

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط Ratinum
      با سلام
      همانطور که می دانید افزونه  " all in one seo pack " به صورت پیش فرض از no index برای دسته بندی ها استفاده می کند. بنده بعد از مدتی متوجه این موضوع شدم و تیک مربوط به " مستثنی کردن دسته بندی ها " را برداشتم. اما همچنان دسته بندی ها در گوگل ایندکس نمی شوند. علت چیست؟
      آدرس سایت: http://Rkanal.ir
      با سپاس
       
    • توسط alikarbasi
      با سلام خدمت تمامی دوستان عزیز
      متاسفانه از زمانی که وردپرس را به روز رسانی کردم ، مطالب تو دسته بندی ها نمایش داده نمیشه و وقتی به آدرس دسته بندی مثلا category/podcast میرم ، ارور زیر رو میده :
      This page isn’t working akastudio.ir is currently unable to handle this request. HTTP ERROR 500 درضمن این ارور رو هنگام فیلتر مطالب با برچسب ها هم میده . میشه لطفا راهنماییم کنید ؟
    • توسط idkashop
      سلام خدمت دوستان
      در فروشگاه ووکامرس ما تعدادی محصول با قیمت متفاوت داریم که بر اساس ویژگی ها قیمت گذاری کردیم
      در صفحه محصول که همه چیز مرتب هست و مشکلی نداریم
      ولی در دسته بندی و صفحاتی که محصولات به صورت مختصر نشون داده میشود، گزینه های انتخاب محصول هم نمایش داده میشه.
       
      از کجا باید این گزینه ها رو برای محصولات توی دسته بندی ها بردارم.
      من این فایل رو تغییر دادم که هم در صفحه تک محصولی و هم صفحه لوپ محصول تغییر ایجاد میشد
      wp-content/plugins/woocommerce/templates/single-product/add-to-cart/variation-add-to-cart-button.php  
       
      اگر فقط بخواهیم که لوپ محصولات تغییر کنه باید چه کنم.
      با تشکر از شما
       

      صفحه محصول تکی
      لینک به این صفحه: پودر زرد چوبه گلستان ( ۵۵۰ گرم ) | فروشگاه اینترنتی ایدکا | سوپرمارکت آنلاین در اصفهان idka
       
       
       

      تصویر محصولات به صورت لوپ
      که هم ارتفاع بیشتری داره و هم موجود نیست زده.
       
      من میخوام این قسمت انتخاب متغییر و تعداد ازش کم بشه و فقط اسم و قیمت و امتیاز بمونه
      لینک به این صفحه: چاشنی ها با کیفیت بالا | فروشگاه اینترنتی ایدکا | سوپرمارکت آنلاین در اصفهان
       
       
    • توسط maraljoon
      سلام..
      دوستان ، یه سایت طراحی کردم که با استفاده از افزونه های موجود سایت رو به چند فروشندگی تبدیل کردم. دنبال یه افزونه میگردم که متاسفانه هیج جای نت چیزی پیدا نکردم.
      میخوام وقتی مشتری خرید کرد به فروشنده اون محصول پیامک ارسال بشه.
      چطور میشه این کار انجام داد.
      حتی قالب مارکت پلیس هم خریدم و طبق گفته پشتیبانیش میبایست از افزونه wp sms استفاده کنم. اینکارو کردم ولی تو فرم ثبت نام فروشنده ها فیلد شماره تلفن برای اضافه کردن وجود نداره.
      چطور میشه این افزونه رو با edd و fes متصل کرد؟
      ممنون میشم دوستان راهنماییم کنن.
       
    • توسط sanehia
      سلام دوستان
      فروشگاه بنده چندین دسته بندی محصول داره میخوام افزونه مقایسه محصول نصب کنم متها مشکلم اینه که تنها در یک محصول میخوام امکان مقایسه محصول وجود داشته باشد و در سایر دسته بندی ها چنین امکانی وجود نداشته باشد.
      ممنون میشم از دوستان اگر افزونه ای با چنین امکانی و یا راهی برای رفع مشکلم سراغ دارند راهنمایی کنند.
      با سپاس فراوان