سایت برتر

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

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

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

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

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

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

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

موفق باشید.

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام میهن وردپرس عضو شوید.

نظر شما در این‌باره چیست؟

  1. U25544 ۲۳ بهمن ۱۳۹۹
  2. U17441 ۲۱ بهمن ۱۳۹۹

    سلام. ۴ هفته پیش الکسای سایتم ۵۰ هزار بود. الآن شده ۷۷ هزار ! bizef .ir این آدرس سایتمه. چرا این طور شده؟ من مدام مقاله منتشر می‌کنم

    • رضا حسینی راد رضا حسینی راد ۲۱ بهمن ۱۳۹۹

      سلام تفاوتی بین الکسای ۵۰ هزار و ۷۷ هزار وجود نداره. باید بیشتر کار کنید و الکسای زیر ۲۰ هزار کسب کنید اونوقت می‌تونید بررسی کنید که الکسای شما افت کرده یا خیر

      • U27765 ۲۴ بهمن ۱۳۹۹

        سلام
        الکسای وبسایت من 25 هزار بود و ما شروع کردیم به تولید محتوا
        بعد طی 3 هفته رسید به 5 هزار – و یهو بعد چند هفته رفت 10 هزار !!
        الانم نزدیک 7 هزار شده
        علت این همه تغییر زیاد رتبه چی میتونه باشه ؟

  3. U17441 ۲۰ بهمن ۱۳۹۹

    سلام. خواهش می‌کنم انیمیشن‌های ورودی و خروجی خبردار رو حذف نکنید.
    با تشکر

    • رضا حسینی راد رضا حسینی راد ۲۱ بهمن ۱۳۹۹

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

  4. U9919 ۲۰ بهمن ۱۳۹۹

    سلام و درود
    حالا اگه ایمیل اختیاری باشه و بخوایم این اتفاق برای شماره موبایل که الزامی هست بی افته باید چیکار کنیم؟

    • رضا حسینی راد رضا حسینی راد ۲۱ بهمن ۱۳۹۹

      درود بر شما
      کافیه از billing_email استفاده نکنید و به جاش فیلد موبایل رو وارد کنید.

      • U21662 ۲۹ فروردین ۱۴۰۰

        سلام ، خسته نباشید ، محتوا بسیار مفید بود، برای ایمیل تست کردم درست عمل میکرد، ولی برای شماره موبایل چون ما از افزونه دیجیتس استفاده میکنیم و ایمیل ضروری نیست ، با اینکه به جای 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 باید از دریافت یوزر با تلفن استفاده کنید.

  5. U28063 ۲۰ بهمن ۱۳۹۹

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

    • رضا حسینی راد رضا حسینی راد ۲۱ بهمن ۱۳۹۹

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

      • U28063 ۲۱ بهمن ۱۳۹۹

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

        • رضا حسینی راد رضا حسینی راد ۲۱ بهمن ۱۳۹۹

          بستگی داره از چه افزونه‌ای برای آپدیت محصولات استفاده می‌کنید. باید کدش رو قرار بدید در میهن پنل

          • U28063 ۲۱ بهمن ۱۳۹۹

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

            • رضا حسینی راد رضا حسینی راد ۲۱ بهمن ۱۳۹۹

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

              • U28063 ۲۲ بهمن ۱۳۹۹

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

                • رضا حسینی راد رضا حسینی راد ۲۳ بهمن ۱۳۹۹

                  افزونه learnpress بسیار مناسب هست.

                  • U28063 ۲۳ بهمن ۱۳۹۹

                    تشکر از شما آقای رضا حسینی راد

                  • U28063 ۲۶ بهمن ۱۳۹۹

                    سلام خدمت شما
                    از همون ایزی دیجیتال دانلود بخوام استفاده کنم چجوریه؟
                    لطفا یک آموزش ازش بزارید ببینیم چجوری میتونیم با ایزی دیجیتال دانلود آپدیت محصولات رو بیاریم

                    • رضا حسینی راد رضا حسینی راد ۲۶ بهمن ۱۳۹۹

                      سلام در هر صورت باید پلاگین اختصاصی برای اتصال پلاگین اختصاصی خود به سیستم آپدیت بسازید.

                  • U28063 ۲۶ بهمن ۱۳۹۹

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

                    • رضا حسینی راد رضا حسینی راد ۲۶ بهمن ۱۳۹۹

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

                    • U28063 ۲۶ بهمن ۱۳۹۹

                      با سلام خوب هستید؟
                      خوب میتونید راهنمایی کنید من الان چیکار کنم؟

                    • U28063 ۰۲ اسفند ۱۳۹۹

                      سلام آقای رضا حسینی راد یعنی هیچ افزونه ای برای آپدیت فایل ها در ووکامرس موجود نیست؟

                    • رضا حسینی راد رضا حسینی راد ۰۲ اسفند ۱۳۹۹

                      سلام توی سایت سرچ کنید آموزش ساخت افزونه رو قرار دادیم.

                    • U28063 ۰۲ اسفند ۱۳۹۹

                      منظورتون اینه افزونه اختصاصی باید بنویسیم؟

                    • رضا حسینی راد رضا حسینی راد ۰۳ اسفند ۱۳۹۹

                      بله

                • U27765 ۲۴ بهمن ۱۳۹۹

                  لرن دش هم عالیه کارش

  6. U28063 ۲۰ بهمن ۱۳۹۹

    با سلام خوب هستید؟
    من دامنه وبسایتم 17 حرفی است و ir هم هست.
    به نظر شما در آینده سئو وبسایتم با تکنیک های اصولی و درست خوب و اوکی میشه؟
    الان که سئو سایتم خیلی پیشرفت کرده و خیلی خوبه.
    اما در آینده میتونم سئو خیلی بهتری را با این دامنه 17 حرفی به علاوه ار که میشه 19 داشته باشم؟

    • رضا حسینی راد رضا حسینی راد ۲۰ بهمن ۱۳۹۹

      درود بر شما بله مشکلی در سئو نیست اما طول دامنه کمی زیاد هست.

      • U28063 ۲۰ بهمن ۱۳۹۹

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

        • رضا حسینی راد رضا حسینی راد ۲۱ بهمن ۱۳۹۹

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

          • U28063 ۲۱ بهمن ۱۳۹۹

            سلام سایت تقریبا چند ماه هست اوردمش بالا و تو این چند ماه خیلی سئو سایتم رو افزایش دادم هم اسم سایت من که سرزمین وردپرس هست چندتا سایت دیگه هم بوده قبلا هم اسم سایتم و من تو این چندماه با حرکات اصولی سئو سایتم رو افزایش داده و از اونا جلو زدم
            چی فکر میکنید چیکار کنم؟

            • رضا حسینی راد رضا حسینی راد ۲۱ بهمن ۱۳۹۹

              هر تصمیمی خوبی‌ها و بدی‌هایی داره. باید این مورد رو خودتون تشخیص بدید که دامنه رو تغییر بدید یا خیر.

              • U28063 ۲۱ بهمن ۱۳۹۹

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

                • رضا حسینی راد رضا حسینی راد ۲۱ بهمن ۱۳۹۹

                  در هر صورت روی سئو تاثیر خواهد داشت. شما باید دامنه خود را ریدایرکت ۳۰۱ کنید تا تاثیر کمتری در سئو داشته باشه

                  • U28063 ۲۲ بهمن ۱۳۹۹

                    بله قطعا
                    ولی از چه دامنه ای به چه دامنه ای ؟
                    یعنی دامنه بلند ریدایرکت به کوتاهه بشه یا کوتاه به بلنده؟

                    • رضا حسینی راد رضا حسینی راد ۲۳ بهمن ۱۳۹۹

                      دامنه فرعی به دامنه اصلی. باید ببینید میخواید کدوم یکی دامنه اصلی شما باشه

                • U27765 ۲۴ بهمن ۱۳۹۹

                  سلام
                  میتونید برای دسترسی بهتر میتونید دامنه کوتاه تری بخرید و ریدایرکت کنید به دامنه اصلی
                  اینجوری ریسک کمتری داره
                  مثلا میتونید دامنه sarzaminwp رو بخرید و ریدایرک کنید تا کاربر راحت تر ادرس رو بزنه

            • U15690 ۲۲ بهمن ۱۳۹۹

              استفاده از اسم wordpress توی دامنه باعث میشه تا شرکت وردپرس اون دامنه رو توی یه مدت زمانی ازتون بگیره و توی قوانینشم هست پس شما هرچه زود تر اسم سایتتون رو عوض کنید یا به جای وردپرس از wp استفاده کنید

              • رضا حسینی راد رضا حسینی راد ۲۳ بهمن ۱۳۹۹

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

                • U27765 ۲۴ بهمن ۱۳۹۹

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

                  • رضا حسینی راد رضا حسینی راد ۲۵ بهمن ۱۳۹۹

                    اطلاعی از این موضوع ندارم اما ما چند سال با چنین دامنه‌ای کار کردیم و مشکلی نداشتیم. شاید دلیلش شباهت بسیار زیاد دامنه با سایت وردپرس دات کام بوده باشه و حس کردن داره سو استفاده از نام وردپرس میشه

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

اگر می‌خواهید وب‌سایت خود را اصولی مدیریت کنید، دوره جامع سایت برتر را از دست ندهید.

اطلاعات بیشتر...