دوره مجازی قالب وردپرس (جلسه 44):پیاده سازی صفحه ثبت نام اختصاصی (مینی پروژه)

دسته بندی: وردپرس
زمان مطالعه: 1 دقیقه
۰۳ دی ۱۳۹۴

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

 

در این جلسه خواهیم دید :

  • پیاده سازی فرم ثبت نام
  • استایل دهی بر اساس فرم لاگین
  • اعتبار سنجی داده های ارسالی فرم
  • ثبت داده ها و ایجاد کاربر جدید
  • ثبت داده های متا مانند شماره همراه
:: توجه

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

ثبت نام در آموزش طراحی قالب وردپرس

چه امتیازی به این مقاله می دید؟
نویسنده
یادگیرنده ی همیشگی،برنامه نویس،نویسنده،عاشق خلق چیزهای عجیب،عاشق تحلیل داده ها، مسئول بخش فنی و هم بنیان گذار در سون لرن.

جلسات دوره

نظرات کاربران

mohammad

سلام استاد- وردپرس اجازه ثبت نام با نام کاربری فارسی مثل محمد رو نمیده و حتما باید از حروف لاتین و اعداد استفاده کرد- برای این که کاربربتونه با حروف فارسی خالی مثل محمد ثبت نام کنه باید چیکار کرد؟

کیوان علی محمدی

سلام قطعا بهتره این کار رو انجام ندید.

hadi ala

سلام وقت بخیر
واقعا خسته نباشید
آموزش های شما خیلی خوب و کاربردیه. امیدوارم همچنان آموزش های سون لرن ادامه داشته باشه و هر چه زودتر آموزش فروشگاه اینترنتی هم ارائه بشه.
من می خوام در قسمت ثبت نام، عکس کاربر یا فایلی رو آپلود کنم و بعدا اون رو جایی نمایش بدم نتونستم از move_uploaded_file استفاده کنم نام فایل در قسمت متای دیتابیس وارد میشه اما منتقل نمیشه. لطفا راهنمایی بفرمایید.
متشکرم

کیوان علی محمدی

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

سهیل محمدی

استاد اتفاقا همین 5 دقیقه پیش کلی سایتای خارجی زیر و رو کردم تا به همین فرمایش شما رسیدم و دیدم به درستی کار میکنه 🙂
فقط استاد بعد اینکه ثبت نام با موفقیت انجام میشه دیگه نمیاد اون پیغام ما رو مبنی بر اینکه با موقیت ثبت نام کردید رو نمایش بده و به طور مستقیم ریدایرکت میشه !
من برای حل این مشکل اومدم قبل از wp_redirect از تابع sleep در php استفاده رکدم تا یه وقفه زماانی بین این دو عمل بیفته اما بازم پیغام رو نشون نمیده و ریدایرکت میشه !
برای حل این مشکل تازه چیکار کنم؟؟

کیوان علی محمدی

می تونید از ریدایرکت های جاوااسکریپتی استفاده کنید. یه timeout ست کنید که بعد از 5 ثانیه به صفحه مورد نظر منتقل بشه.

سهیل محمدی

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

کیوان علی محمدی

اگه بخواین با php پیاده سازی کنید باید از flash message استفاده کنید. به این صورت که .وقتی ثبت نام کاربر تموم شد یک پیام در سشن ست می کنید و در صفحه بعدی که کاربر میبینه اون پیام نمایش بدین و بعد از نمایش هم پاکش کنید.اینطوری اگه ریدایرکت هم بشه مشکلی پیش نمیاد.

سهیل محمدی

سلام استاد
من از تابع wp_redirect بعد از اینکه کاربر با موفقیت ثبت نام کرد استفاده کردم تا اونو به صفحه اصلی سایت ارجاع بدم اما بعد از ثبت نام خطا php میده مبنی بر اینکه نمیتونه مودیفای کنه هدر رو ! جیکار کنم ؟
نحوه ارجاع در ای جکس هم همینجوریه یا فرق داره ؟

کیوان علی محمدی

سلام برای اکشن init یک add_action ثبت کنید و در داخل تابعش از از تابع ob_start استفاده کنید. در مورد ای جکس چون ریداریکت از طریق جاوا اسکریپت این مشکل رخ نمیده.

سهیل محمدی

استاد اتفاقا همین 5 دقیقه پیش کلی سایتای خارجی زیر و رو کردم تا به همین فرمایش شما رسیدم و دیدم به درستی کار میکنه 🙂
فقط استاد بعد اینکه ثبت نام با موفقیت انجام میشه دیگه نمیاد اون پیغام ما رو مبنی بر اینکه با موقیت ثبت نام کردید رو نمایش بده و به طور مستقیم ریدایرکت میشه !
من برای حل این مشکل اومدم قبل از wp_redirect از تابع sleep در php استفاده رکدم تا یه وقفه زماانی بین این دو عمل بیفته اما بازم پیغام رو نشون نمیده و ریدایرکت میشه !
برای حل این مشکل تازه چیکار کنم؟ 😀

کیوان علی محمدی

خوب وقتی پاسخ برمیگرده می تونی یه timeOut ست کنی و بگی بعد از 10 ثانیه منتقل بشه و در این مدت پیغام رو بهش نشون بدی.

محمد

سلام استاد خسته نباشید
اگه بخوایم ثبت نام و لاگین رو مثل خود سایت سون لرن با استفاده از پلاگین مدال پیاده سازی کنیم به چه شکل هست ، فکر می کنم که دیگه شورت کد ها جواب نمیده میشه یک راهنمایی در این خصوص انجام بدین
ممنون

وحید صالحی

مشکلی نداره دوست عزیز شما ابتدا مدال رو باید پیاده سازی کنید بعد شورتکد رو درون محدوده مدال قرار بدید

محمد

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

وحید صالحی

سلام باید شورتکد رو در تابع do shortcode قرار بدید اصولا هر جای قالب که بخواهید شورتکدی رو فراخوانی کنید بی این صورت هست مثل مثال زیر عمل کنید:


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

حمید حسینی تبار

سلام
توی پروژه زمانی که ثبت نام انجام میشه چطور میتونم پیامهای ولیدیشن رو سفارشی و با متن دلخواه تغیر بدم و مثلا چک کردن اینکه ایمیل تکراری هست یا خیر بصورت اجکسی انجام بشه ؟
و تا زمانی که ولیدیشن اجکسی فرم کامل انجام نشه فرایند ثبت نام انجام نشه
میخوام بصورت اجکسی انجامش بدم
لطفا با یک مثال مطرح کنید چون هر چی سعی کردم نتونستم انجامش بدم
لطفا این مورد رو توضیح کامل بدین (با کد )
تشکر

کیوان علی محمدی

سلام توابعی در وردپرس برای اینکار وجود داره. مثلا از تابع email_exist می تونید چک کنید قبلا ایمیل ثبت شده یا نه. شما باید یه متغییر ایجاد کنید که مثلا $has_error نام داره و حالا هر خطایی وجود داره این مقدار رو true کنید و برای کاربر برگردونید برای پیغام خطا هم یک متغییر message ست کنید و برای هر نوع خطا مقدار مورد رو داخلش قرار بدین.

sajadprm

با سلام
استاد در مورد لاگین اختصاصی من طبق مبحث شما متغیر has_errorو has_success و همچنین متغیر message را در تابع تعریف میکنم و مقادیر false رو براش قرار می دم ولی وقتی در صفحه register _form از اونها استفاده می کنم اون ها رو نمی شناسه و هیچ پیغام خطایی برای من نمایش نمی دهد مشکل از کجاست ؟

کیوان علی محمدی

سلام راه حل ساده اینه که متغییر ها رو در بخش کدهای html با تایع var_dump خروجی بگیرید ببینید در دسترس هستند یا نه.

پایان زمان پشتیبانی

دانشجوی گرامی، بازه پشتیبانی فعال برای این دوره ۳ ماه است که برای شما به پایان رسیده است.

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

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
گزارش مشکل