ارائه یک شماره سریال فقط در اولین خرید از ووکامرس

ali_esprit

تازه وارد
ما یه فروشگاه ووکامرس داریم که محصولاتش فیلمهای آموزشی هستش

این فیلما فقط با یک پلیر مخصوص قابل نمایش هست. که این پلیر برای نصب روی هر سیستم نیاز به یک شماره سریال داره.

یعنی وقتی کاربر اولین خرید رو میکنه باید یه شماره سریال بهش داده بشه و تو پروفایلش درج بشه.

کاربر برای خرید های بعدیش دیگه نیازی به شماره سریال نداره و فقط باید محصول رو دانلود کنه.

آیا از اساتید کسی میتونه این کار رو انجام بده؟ ناگفته نماند که هزینه اش را هم پرداخت میکنم

 

Mohammad

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

 

ali_esprit

تازه وارد
شما یه مطلب با عنوان افزودن خودکار یک محصول... ارسال کردید



اگه بشه این رو برای اولین خرید محدود کرد میشه با افزونه فروش سریال ترکیبش کرد و آی دی محصولی که سریال داره رو برای اضافه شدن خودکار گذاشت.

تا یه حدودی کدشم پیدا کردم

ممنون میشم اگه بتونین راهنمایی کنین

کد:
function so_27969258_add_cart() {$orders = intval( get_user_meta( get_current_user_id(), '_number_orders', true ) );if( $orders < 1 ){}}add_action( 'so_27969258_add_cart' );
 

MahdiY

راهبر انجمن
دوست عزیز ساختار کد شما مشکل داره

تابع add_action دو پارامتر دریافت می کند نه یکی

میشه بفرمایید این سریال یه سریال ثابت هست یا برای هر کاربرا متفاوته؟

و اینکه تو فروشگاه شما بجز اون فیلم هایی که گفتید چیز دیگه ای هم برای فروش دارید یا نه؟

 

ali_esprit

تازه وارد
ممنون از پاسختون دوست عزیز

بله برای هر کاربر یک سریال منحصر بفرد باید داده بشه از لیستی که ما تعریف کردیم و وقتی سریال داده شد دیگه از لیست حذف بشه.

فقط محصولات دانلودی هستش... البته فرمت فایل دانلود فقط زیپ هستش.

این کد رو یه نگاهی میندازید مهندس...

کد:
function so_27969258_add_cart_pro() {    $orders = intval( get_user_meta( get_current_user_id(), '_number_orders', true ) );    if( $orders < 1 ){                WC()->cart->add_to_cart( $product_id );    }}add_action( 'woocommerce_before_calculate_totals', 'so_27969258_add_cart_pro' );
 

ali_esprit

تازه وارد
کد زیر درسته فقط یه مشکلی که داره اینه که این محصول رو n بار به سبد خرید اضافه میکنه تا اینکه سایت سرور ارور میده! وقتی هم که محدودیت رو از صفحه ویرایش محصول میذارم روی فروش تکی موقع تسویه حساب خطا میده.

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

کد:
function so_27969258_add_cart_pro() {    $orders = intval( get_user_meta( get_current_user_id(), '_number_orders', true ) );    if( $orders < 1 ){        $product_id = 5087;                WC()->cart->add_to_cart( $product_id );    }}add_action( 'woocommerce_before_calculate_totals', 'so_27969258_add_cart_pro' );
 

MahdiY

راهبر انجمن
این کدتون اشتباهه

از اون لحاظ که در هر بار لود فاکتور یبار محصول اضافه میشه

نظرتون چیه کد سریال را در پروفایل هر کاربر نشون بدید؟

یعنی چک کنه اگه یه خرید داشت یه کد براش نشون بده و از لیست سریال ها حذف بشه

 

ali_esprit

تازه وارد
اگه اینطور بشه که خیلی عالیه :67:

چطوری میشه اینکار رو کرد؟

من چون به نتیجه ای نرسیدم مجبور شدم برم سراغ افزودن محصول

شما میتونید؟ منتظر جوابتون هستم

 
بالا