خرید هاست ارزدیجیتال
حراجی دامنه های ویژهمشاهده





تبلیغات
تبلیغات تبلیغات
تبلیغات ژاکت, مرجع خرید قالب و افزونه وردپرسی اورجینال

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

وردپرس , مقالات,آموزش,ترفند

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

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

در آموزش‌های قبل، به شما توضیح دادیم که از بخش ووکامرس > پیکربندی، می‌توانید تنظیمات مربوط به فعال‌سازی ثبت‌نام بدون عضویت در ووکامرس را انجام دهید. در واقع کافی است که شما فقط وارد بخش “حفظ حریم خصوصی حساب‌های کاربری” ووکامرس شوید. سپس تیک دو گزینه‌ای که در بخش “پرداخت مهمان” وجود دارد را فعال کنید. سپس آموزش دیگری روی منتشر کردیم. که در آن بتوانید با اضافه کردن چند خط کد به فایل function.php خطای An account is already registered with your email address را در صفحه تسویه حساب رفع کنید.

 

اما مشکل دیگری که کاربران با آن مواجه می‌شوند. این است که وقتی یک مشتری، با ایمیلی که از قبل در سایت ثبت‌نام کرده است و دارای حساب کاربری است. اقدام به خرید می‌کند و تیک گزینه “می‌خواهید یک حساب کاربری ایجاد کنید؟” را فعال می‌کند. به عنوان کاربر مهمان شناخته می‌شود. (با وجود اینکه ایمیل مشتری از قبل در سایت وجود داشته است.) پس باید به صورت دستی مشتری را برای سفارشات مهمان تغییر دهند. در این مقاله نحوه حل این مشکل را توضیح خواهیم داد.

 

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

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

برای این کار کافی است مثل همیشه از منوی نمایش، روی ویرایشگر پوسته کلیک کنید. سپس فایل توابع پوسته (functions.php) را باز کنید و قطعه کد زیر را در انتهای این فایل قرار دهید.


function bistscript_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','bistscript_set_customer_email',10,2);

در صورتی که شما پس از وارد کردن قطعه کد بالا با خطای Internal Server Error مواجه شدید. کافی است مجددا کدهای وارد شده را مورد بررسی قرار دهید. چرا که این خطا یا خطای Error 500 تنها زمانی به وجود می‌آید که منابع سرور شما کم باشد، یا مشکلی در برنامه‌نویسی سایت شما وجود داشته باشد. با اضافه کردن این چند خط کد بالا هم نمی‌توان گفت که منابع سرور به مشکل خورده باشند. بنابراین با دیدن این خطا شما باید مجددا کدهای نوشته شده مورد بررسی قرار دهید.

 

حالا مشاهده می‌کنید که در صورت ثبت سفارش توسط یک فرد که قبلا در سایت شما ثبت‌نام کرده اما وارد سایت نشده، سفارش با ایمیل مشتری ثبت خواهد شد.

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

موفق باشید.

این مقاله چقدر براتون مفید بود؟

از ۱ تا ۵ امتیاز بدید.

میانگین رتبه 0 / 5. تعداد رای : 0

تا حالا کسی رای نداده! اولین نفر شما باشید.

دانلود

هاست ارزان، لایت اسپید، سرور مجازی منطبق با اسکریپت های 20script کلیک کنید >

خرید ارز
مطلب مفیدی بود ؟
نویسنده : تیم محتوای 20اسکریپت 0 وردپرس , مقالات,آموزش,ترفند
لینک کوتاه مطلب : https://www.20script.ir/?p=55675
مطالب مرتبط
برخی از قالب های وبلاگ - بیست اسکریپت
قالب عشق بین انگشت هاقالب عشق بین انگشت ها
قالب دخترونه و آرایشقالب دخترونه و آرایش
قالب زیبای ماشینقالب زیبای ماشین
قالب فانتزی و طنز چِشمقالب فانتزی و طنز چِشم
قالب دختر رویاییقالب دختر رویایی
قالب وبلاگ دکوراسیونقالب وبلاگ دکوراسیون
قالب وبلاگ کلبه و درختقالب وبلاگ کلبه و درخت
قالب دختر زیباقالب دختر زیبا
قالب پسرونه غمگینقالب پسرونه غمگین
قالب عاشقانه قلبقالب عاشقانه قلب
بیست اسکریپت
اسکریپت
profile
sourceforge
profile webmaster
profile check
checker list
checker
checker
upload file