حل مشکل ثبت مشتری به عنوان مهمان در سفارشات ووکامرس
- مقالات آموزشی
- بروزرسانی شده در
یکی از مشکلات ووکامرس این است که اگر یک مشتری بدون ورود به سایت شما، از شما خرید کند، سفارش بهصورت مهمان ثبت خواهد شد. برای حل مشکل ثبت مشتری به عنوان مهمان در سفارشات این مقاله را تا انتها دنبال کنید.
در آموزشهای قبل، به شما توضیح دادیم که از بخش ووکامرس > پیکربندی، میتوانید تنظیمات مربوط به فعالسازی ثبتنام بدون عضویت در ووکامرس را انجام دهید. در واقع کافی است که شما فقط وارد بخش “حفظ حریم خصوصی حسابهای کاربری” ووکامرس شوید. سپس تیک دو گزینهای که در بخش “پرداخت مهمان” وجود دارد را فعال کنید. سپس آموزش دیگری روی منتشر کردیم. که در آن بتوانید با اضافه کردن چند خط کد به فایل function.php خطای An account is already registered with your email address را در صفحه تسویه حساب رفع کنید.
اما مشکل دیگری که کاربران با آن مواجه میشوند. این است که وقتی یک مشتری، با ایمیلی که از قبل در سایت ثبتنام کرده است و دارای حساب کاربری است. اقدام به خرید میکند و تیک گزینه “میخواهید یک حساب کاربری ایجاد کنید؟” را فعال میکند. به عنوان کاربر مهمان شناخته میشود. (با وجود اینکه ایمیل مشتری از قبل در سایت وجود داشته است.) پس باید به صورت دستی مشتری را برای سفارشات مهمان تغییر دهند. در این مقاله نحوه حل این مشکل را توضیح خواهیم داد.
حل مشکل ثبت مشتری به صورت مهمان در سفارشات
پس حالا ما باید یک قطعه کد دیگر به سایت اضافه کنیم. سپس مشخص کنیم که اگر کاربر با ایمیلی که قبلا در سایت ثبتنام کرده است، اقدام به خرید کند. خریدش بهجای مهمان در ووکامرس، روی حالت مشتری ثبت شود. تا کاربر پس از اینکه وارد سایت شد، بقیه سفارشات ثبت شدهاش را در پنل کاربری مشاهده کند و به آنها دسترسی داشته باشد.
برای این کار کافی است مثل همیشه از منوی نمایش، روی ویرایشگر پوسته کلیک کنید. سپس فایل توابع پوسته (functions.php) را باز کنید و قطعه کد زیر را در انتهای این فایل قرار دهید.
function mihanwp_set_customer_email($order,$data){
$email = $data['billing_email'];
if(email_exists($email)){
$user = get_user_by('email',$email);
$order->set_customer_id($user->ID);
}
}
add_action('woocommerce_checkout_create_order','mihanwp_set_customer_email',10,2);
در صورتی که شما پس از وارد کردن قطعه کد بالا با خطای Internal Server Error مواجه شدید. کافی است مجددا کدهای وارد شده را مورد بررسی قرار دهید. چرا که این خطا یا خطای Error 500 تنها زمانی به وجود میآید که منابع سرور شما کم باشد، یا مشکلی در برنامهنویسی سایت شما وجود داشته باشد. با اضافه کردن این چند خط کد بالا هم نمیتوان گفت که منابع سرور به مشکل خورده باشند. بنابراین با دیدن این خطا شما باید مجددا کدهای نوشته شده مورد بررسی قرار دهید.
حالا مشاهده میکنید که در صورت ثبت سفارش توسط یک فرد که قبلا در سایت شما ثبتنام کرده اما وارد سایت نشده، سفارش با ایمیل مشتری ثبت خواهد شد.
موفق باشید.
سلام وقت بخیر
زمانی که کاربر بصورت مهمان خریدی رو انجام می ده و بعد از خرید در سایت ثبت نام می کنه با همون ایمیلی که خرید مهمان رو انجام داده در حساب کاربری ایجاد شده ، خرید یا دانلود های قبلی وجود نداره یعنی در واقع ووکامرس بر اساس اون ایمیل ادرس سابقه خرید ها رو اضافه نمی کنه
آیا راه حلی برای این موضوع هست ؟
ممنون از راهنمایی تون
چگونه بعد از آنکه کاربر ، گزینه پرداخت بعد از دریافت را در سبد خرید انتخاب کرد با عبارت: سفارش شما ثبت شد. همکاران با شما تماس می گیرند مواجه شود
سلام و درود به استاد عزیز
نسخه جدید ووکامرس را که بروز میکنم خود ووکامرس بروز میشه اما پایگاه داده ووکامرس بروز نمیشه و اصلاً هوک آپدیت ووکامرس اجرا نمیشه و وقتی روی مشاهده پیشرفت مبزنیم هیچ دستوری اجرا نمیشه!
دستورات زماندی شده ی دیگه اجرا میشن اما دستور بروزرسانی پایگاه داده ووکامرس در عملیات برنامه ریزی شده اصلاً اجرا نمیشه.
خیلی درگیر این موضوع هستم اگه راهنمایی بفرمایید ممنون میشم.
شرمنده، پستی در این مورد در میهن وردپرس ندیدم برای همین اینجا پیام فرستادم.
سلام میتونه دلایل مختلفی داشته باشه. ولی در کل اگر مشکلی رو سایتتون ایجاد نکرده نیازی نیست حتما اجرا بشه.
سلام مجدد استاد
در آینده این موضوع اذیت میکنه چون نسخه دیتابیس و خود افزونه بهتره یکی باشه
میتونید راهنمایی کنید از چی میتونه باشه؟ حس من اینه که یکی از جداول دیتابیس ووکامرس دچار مشکل شده یا پاک شده باشه
آموزشی هست که من بتونم این مشکلمو رفع کنم؟ شما خودتون تا حالا به این مشکل برنخوردید؟ من منابع فارسی و انگلیسی زیادی سرچ کردم اما چیزی پیدا نکردم.
میزنه که درحال بروزرسانی پایگاه داده در پس زمینه هستیم اما بعد چند دقیقه دوباره پیام بروزرسانی پایگاه داده ووکامرسو نمایش میده موقعی هم که میزنیم پیشرفتشو ببینیم میزنه woocommerce_run_update یافت نشد!
اگه میتونید راهنمایی کنید که خیلی درگیرشم. سپاس
مشکل که از schedule های سایت هست با crontrol میتونید چکش کنید.
سلام می خواستم یک تجربه زا در اختیار همه بگزارم
من ووکامرسم زمان ثبت سفارش توی تسویه حساب ارور internal server error را می داد من تمام روش های توی اینترنت و حتی سایت شما را رفتم اما جواب نداد حتی هاستینگ هم نتونست
اما مشکلم با تغییر نسخه php حل شد نسخه ام روی 8.0 بود کردم 7.4 و مشکلم حلشد
سلام
من نمیتونم سفارش ثبت کنم و قتی هم از طریق سبد خرید اطلاعات رو تکمیل میکنم و میزنم ثبت سفارش خطا میزنه
خطاش هم اینه ( خطا در ذخیره سازی عملیات؛ خطای پایگاه داده
لطفا اگه میشه جواب بدین
سلام فضای هاست رو چک کنید پر نشده باشه آموزش حل مشکلات متداول وردپرس رو هم ببینید رو سایت
ببخشید این آموزش کجاست اگه می شه لینک بدید
https://mihanwp.com/error-establishing-a-database-connection/
خدمت شما
درود جناب راد
2 سوال داشتم محبت کنید راهنمایی بفرمایید.
اول: اگر خریدها بدون ایمیل و شماره موبایل انجام بشه چطور؟ (استفاده از پلاگین دیجیتس)
دوم: اگر سفارش ها بصورت دستی انجام بشه چطور اون کاربر از حالت میهمان به کاربر مشتری تبدیل بشه.
تشکر
توضیحات کامل:
یه سایتی داریم نیاز داریم همزمان بجز خرید آنلاین، سفارش های حضوری رو هم بصورت دستی (افزودن دستی سفارش) ثبت کنیم که موجودی کالای فروشگاهمون بهم نریزه.
یه مشکلی دارم اون هم اینکه وقتی سفارش رو دستی ثبت میکنیم کاربر رو میهمان میذاره و به بخش کاربرهای سایت اضافه نمیشه که بتونیم بعدا از اطلاعات کاربر استفاده کنیم. روی روش ثبت نام با ایمیل راهکارهایی بدست اوردم که مشتری میهمان رو به کاربر تبدیل کنه اما ما ثبت ناممون خلاصه میشه به تلفن همراه و نام و ایمیل استفاده نمیکنیم (بخاطر افزونه دیجیتس)
در بخش ووکامرس > مشتری ها هم میشه مشتری های میهمان رو خروجی گرفت اما چون از دیجیتس استفاده میکنیم اونجا شماره موبایل نمایش نداره ک خروجی بگیریم ازش استفاده کنیم.
راهی هست این مشتری های مهمان تبدیل به کاربر بشن؟
سلام راهی نیست به جز اینکه با یک پلاگین اختصاصی این کارو انجام بدید.
درود
۱. باید کد رو تغییر بدید و از فیلد موبایل بگیرید
۲. یکم سخت شد. بهتره کد اختصاصی استفاده بشه برای این مورد همراه با ویرایش صفحه ویرایش سفارش
سلام.
من توی سایت نمی خوام افراد بدون اینکه عضو بشن خرید کنن، با برداشتن تیک این مورد توی ووکامرس وقتی مشتری اضافه به سبد رو می زنه و بعد تسویه حساب رو میزنه، به صفحه ای منتقل می شه که نوشته: برای تسویه حساب باید وارد شوید.
چی کار کنم که به جای اینکه به این صفحه بیاد، مستقیم بره به صفحۀ ورود و ثبت نام؟
سلام میتونید خرید مهمان رو فعال کنید یا از ریدایرکت خودکار استفاده کنید که نیاز به تغییر برنامهنویسی و استفاده از توابع ووکامرس و وردپرس داره.
سلام دوتا سوال دارم :
۱- من برای ثبت نام بجای ایمیل از دیجیتس استفاده میکنم ، آیا این کد برای دیجیتس هم کار میکنه؟
۲- آیا با آپدیت قالب این کدها از بین نمیرن؟ چطوری یکبار برای همیشه این کدهارو استفاده کنم؟
ممنون میشم راهنماییم کنید.
سلام
۱. فکر نمیکنم
۲. بهتره توی چایلدتم اضافه بشه یا افزونه اختصاصی
عالی بود، سپاس
سپاس از شما
سلام. ۴ هفته پیش الکسای سایتم ۵۰ هزار بود. الآن شده ۷۷ هزار ! bizef .ir این آدرس سایتمه. چرا این طور شده؟ من مدام مقاله منتشر میکنم
سلام تفاوتی بین الکسای ۵۰ هزار و ۷۷ هزار وجود نداره. باید بیشتر کار کنید و الکسای زیر ۲۰ هزار کسب کنید اونوقت میتونید بررسی کنید که الکسای شما افت کرده یا خیر
سلام
الکسای وبسایت من 25 هزار بود و ما شروع کردیم به تولید محتوا
بعد طی 3 هفته رسید به 5 هزار – و یهو بعد چند هفته رفت 10 هزار !!
الانم نزدیک 7 هزار شده
علت این همه تغییر زیاد رتبه چی میتونه باشه ؟
درود بر شما سرعت سایت شما تاثیر زیادی در رتبه الکسا داره. سرعت رو بررسی کنید.
دقیقا تنها چیزی که تغییر کرده طی این دوره سرعت سایت بود!!
دقت نکرده بودم اصلا 🤔
واقعا ممنونم آقای حسینی راد :)))
خواهش میکنم.
سلام. خواهش میکنم انیمیشنهای ورودی و خروجی خبردار رو حذف نکنید.
با تشکر
سلام این موضوع باعث حرکت کلی محتوای سایت موقع لود شدن میشه و کمی تجربه کاربری رو نامناسب جلوه میده
سلام و درود
حالا اگه ایمیل اختیاری باشه و بخوایم این اتفاق برای شماره موبایل که الزامی هست بی افته باید چیکار کنیم؟
درود بر شما
کافیه از billing_email استفاده نکنید و به جاش فیلد موبایل رو وارد کنید.
سلام ، خسته نباشید ، محتوا بسیار مفید بود، برای ایمیل تست کردم درست عمل میکرد، ولی برای شماره موبایل چون ما از افزونه دیجیتس استفاده میکنیم و ایمیل ضروری نیست ، با اینکه به جای biling-email طبق فرمایش شما از biling-phone استفاده کردم نتیجه ای نداشت و سفارش ثبت شده مهمان با یک شماره موبایل خاص در لیست سفارشات اکانت ساخته شده با اون شماره موبایل قرار نمیگیره مانند حالت ایمیل :(کد را به صورت زیر استفاده کردم)
function mihanwp_set_customer_email($order,$data){
$email = $data[‘billing_phone’];
if(email_exists($email)){
$user = get_user_by(’email’,$email);
$order->set_customer_id($user->ID);
}
}
add_action(‘woocommerce_checkout_create_order’,’mihanwp_set_customer_email’,10,2);
آیا باید تغییررات دیگری هم انجام میدادم و یا چون از افزونه دیجیتس استفاده میکنیم نباید از billing_phone استفاده میکردم ؟! ممنون میشم راهنمایی کنین در این رابطه چون الان اکثر سایتهای فروشگاهی مبناشون شماره موبایل هست و کمتر از کاربرا ایمیل دریافت میکنن برای ثبت نام و خرید …
حتی اگر افزونه ای هم باشه که به صورت خودکار مشتریان مهمان ما را به کاربر مشتری تبدیل کنه با همان شماره موبایل سفارش خوبه! (البته با همان اولویت شماره موبایل، ایمیل ندارن اکثر کاربرای ما) این مشکل رو برای ما حل کنه خوبه، معرفی کنین شما، با تشکر
درود بر شما سپاس. شما باید بررسی کنید که تلفن ها در فرم ثبت سفارش از کاربر دریافت میشه. اگر بله درسته و به جای get_user_by باید از دریافت یوزر با تلفن استفاده کنید.
سلام
اگه ممکنه لطفا یک تکه کد هم برای شماره موبایل در صفحه پرداخت قرار بدید چون الآن اکثرا از شماره موبایل استفاده میشه بجای ایمیل
سلام یک سوال داشتم شما هنوز هم برای آپدیت محصولاتتان در وبسایتتان از ایزی دیجیتال دانلود استفاده میکنید؟
من از میهن پنل هم استفاده میکنم و میخوام آپدیت محصولات با همین ووکامرس صورت بگیرد لطفا راهنمایی کنید.
درود بر شما ما از ووکامرس استفاده میکنیم در سیستم جدید
سلام خوب چگونه آپدیت های محصولات رو تو میهن پنل با استفاده از ووکامرس نشون بدیم؟
بستگی داره از چه افزونهای برای آپدیت محصولات استفاده میکنید. باید کدش رو قرار بدید در میهن پنل
با سلام من از همین ووکامرس فقط استفاده میکنم چه کدی قرار بدم که فایل جدیدی اگر در دوره اضافه کردم به اون صفحه هم تو میهن پنل اضافه بشه؟
لطفا راهنمایی و کمک کنید و کد رو هم لطف کنید بگید چی بنویسم
شما باید از افزونههای آموزش آنلاین در کنار ووکامرس استفاده کنید. کد خاصی نداره و هر افزونهای که استفاده کنید کد خاص خودش رو داره. ما از افزونه اختصاصی برای اینکار استفاده میکنیم.
با سلام خوب افزونه پیشنهادی شما چی هست؟
لطفا راهنمایی کنید و بگویید
چرا که سایت من فروش فایل آنلاین است و فایل هام باید آپدیت بشه
تشکر از لطف شما
افزونه learnpress بسیار مناسب هست.
تشکر از شما آقای رضا راد
سلام خدمت شما
از همون ایزی دیجیتال دانلود بخوام استفاده کنم چجوریه؟
لطفا یک آموزش ازش بزارید ببینیم چجوری میتونیم با ایزی دیجیتال دانلود آپدیت محصولات رو بیاریم
سلام در هر صورت باید پلاگین اختصاصی برای اتصال پلاگین اختصاصی خود به سیستم آپدیت بسازید.
با سلام البته ایزی دیجیتال هم بدرد نمیخوره چون کاربر هم باید محصول ووکامرس رو بخره هم ایزی دیجیتال دانلود
لرن پرس هم که به کار ما نمیاد چون محتوای آموزشی تولید نمیکنیم لطفا کمکمون کنیم.
چرا افزونه آپدیت محصولات که اختصاصی طراحی کردید رو در اختیار ما خریدارانتان قرار نمیدیدی لطفا و لطفا راهنمایی کنید کمکامان کنید چون خیلی مهمه
سلام. برای انتشار یک محصول باید به حجم بازار محصول توجه کنیم. اگر این مورد را منتشر کنیم علاوه بر مشکلات زیادی که برای راهاندازی خواهد داشت، حجم بازار بسیار کمی برای فروش محصول خواهیم داشت.
با سلام خوب هستید؟
خوب میتونید راهنمایی کنید من الان چیکار کنم؟
سلام آقای رضا راد یعنی هیچ افزونه ای برای آپدیت فایل ها در ووکامرس موجود نیست؟
سلام توی سایت سرچ کنید آموزش ساخت افزونه رو قرار دادیم.
منظورتون اینه افزونه اختصاصی باید بنویسیم؟
بله
لرن دش هم عالیه کارش
با سلام خوب هستید؟
من دامنه وبسایتم 17 حرفی است و ir هم هست.
به نظر شما در آینده سئو وبسایتم با تکنیک های اصولی و درست خوب و اوکی میشه؟
الان که سئو سایتم خیلی پیشرفت کرده و خیلی خوبه.
اما در آینده میتونم سئو خیلی بهتری را با این دامنه 17 حرفی به علاوه ار که میشه 19 داشته باشم؟
درود بر شما بله مشکلی در سئو نیست اما طول دامنه کمی زیاد هست.
با سلام خدمت شما
یعنی یک دامنه کم حرفی تر هم خریداری کنم؟
سلام اگر سایت تازه راه اندازی شده دامنه را به دامنه کوتاه تری تغییر بدید
سلام سایت تقریبا چند ماه هست اوردمش بالا و تو این چند ماه خیلی سئو سایتم رو افزایش دادم هم اسم سایت من که سرزمین وردپرس هست چندتا سایت دیگه هم بوده قبلا هم اسم سایتم و من تو این چندماه با حرکات اصولی سئو سایتم رو افزایش داده و از اونا جلو زدم
چی فکر میکنید چیکار کنم؟
هر تصمیمی خوبیها و بدیهایی داره. باید این مورد رو خودتون تشخیص بدید که دامنه رو تغییر بدید یا خیر.
با سلام بله قطعا همینطور ولی تغییر تغییر هم نمیخوام بدم مثلا میخوام وقتی دامنه جدید که خریدم مثلا این دامنه ها ریدایرکت بشن مثلا دامنه الان من اینه میخوام دامنه جدید بخرم و اون رو اصلی قرار بدم و وقتی این دامنه بلند جستجو شد اون دامنه کوتاه بالا بیاد
اگر از ریدایرکت استفاده کنم بازم ممکن هست که در سئو اختدال ایجاد شود؟
در هر صورت روی سئو تاثیر خواهد داشت. شما باید دامنه خود را ریدایرکت ۳۰۱ کنید تا تاثیر کمتری در سئو داشته باشه
بله قطعا
ولی از چه دامنه ای به چه دامنه ای ؟
یعنی دامنه بلند ریدایرکت به کوتاهه بشه یا کوتاه به بلنده؟
دامنه فرعی به دامنه اصلی. باید ببینید میخواید کدوم یکی دامنه اصلی شما باشه
سلام
میتونید برای دسترسی بهتر میتونید دامنه کوتاه تری بخرید و ریدایرکت کنید به دامنه اصلی
اینجوری ریسک کمتری داره
مثلا میتونید دامنه sarzaminwp رو بخرید و ریدایرک کنید تا کاربر راحت تر ادرس رو بزنه
استفاده از اسم wordpress توی دامنه باعث میشه تا شرکت وردپرس اون دامنه رو توی یه مدت زمانی ازتون بگیره و توی قوانینشم هست پس شما هرچه زود تر اسم سایتتون رو عوض کنید یا به جای وردپرس از wp استفاده کنید
این موضوع مدتها بحث بود اما ما سالها تست کردیم و مشکلی نداشت.
آقای علی حاجی محمدی گفتن که دامنه ای داشتن که عبارت wordpress رو داشت و وردپرس دامنه رو گرفت ازشون که !
اطلاعی از این موضوع ندارم اما ما چند سال با چنین دامنهای کار کردیم و مشکلی نداشتیم. شاید دلیلش شباهت بسیار زیاد دامنه با سایت وردپرس دات کام بوده باشه و حس کردن داره سو استفاده از نام وردپرس میشه