جایگزین صفحه ثبت نام در وردپرس

در مقاله های قبلی نحوه جایگزین کردن صفحات لاگین و فراموشی رمز در وردپرس را شرح دادیم در این مقاله قصد داریم جایگزین صفحه ثبت نام در وردپرس را آموزش دهیم. صفحه پیش فرض وردپرس برای ثبت نام کاربر از طریق آدرس wp-login.php?action=register قابل مشاهده و مشابه عکس زیر می باشد: جایگزین صفحه ثبت نام در وردپرس

فیلم آموزشی جایگزین صفحه ثبت نام در وردپرس

 

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

  • همخوانی نداشتن صفحه ثبت نام با بقیه صفحات قالب وردپرس مورد استفاده
  • اضافه کردن فیلد های جدید هنگام ثبت نام
  • اضافه کردن روال های اضافی هنگام ثبت نام (مانند اضافه کردن ایمیل کاربر به خبرنامه)

توجه: در این آموزش از قالب twentyseventeen که از قالب های پیش فرض وردپرس می باشد استفاده شده است.

طراحی صفحه جایگزین ثبت نام در وردپرس

در ابتدا به مسیر پوسته رفته و یک فایل  phpبه نام custom-register.php میسازیم و سپس کدهایHtml  زیر را به فایل ساخته شده اضافه کرده و ذخیره میکنیم.

این صفحه از چند ورودی برای دریافت ایمیل ، نام ، نام خانوادگی و رمز عبور از کاربر تشکیل شده که برخی از فیلدها اجباری می باشند، ایمیل کاربر به عنوان نام کاربری در نظر گرفته خواهد شد. در قطعه کد بالا دستور get_option( ‘users_can_register’ ) چک می کند که آیا امکان ثبت نام کاربر از سمت مدیر سیستم فعال شده است ، که در صورت غیر فعال بودن پیام مناسب به کاربر نمایش میدهد. جایگزین صفحه ثبت نام در وردپرس جهت زیبایی صفحه کدهای css زیر را به فایل style.css موجود در قالب اضافه میکنیم (برخی از این کدها را در آموزش جایگزین صفحه لاگین وردپرس و آموزش جایگزین صفحه فراموش رمز استفاده کرده ایم و دوباره  در اینجا ذکر میکنیم )

حالا نیاز هست که یک برگه برای صفحه ثبت نام ایجاد کنیم. برای این کار در پیشخوان مدیریت وردپرس به قسمت برگه ها رفته و با کلیک روی افزودن برگه ، یک برگه جدید ایجاد می کنیم. جایگزین صفحه فراموشی رمز وردپرس در صفحه افزودن برگه عبارت user-register را تایپ کرده و سپس از قسمت ویژگی های برگه بخش قالب گزینه Register Page (همان نامی که در ابتدای فایل custom-register.php وارد کرده بودیم) را انتخاب کرده و گزینه انتشار را کلیک می کنیم. جایگزین صفحه ثبت نام در وردپرس اگر تا اینجای آموزش با ما همراه بوده باشید باید صفحه ای به شکل زیر برای شما نمایش داده شود: جایگزین صفحه ثبت نام در وردپرس

کدهای صفحه جایگزین ثبت نام در وردپرس

حالا بریم به سراغ کدهای مربوط به این صفحه ، اول باید کاری کنیم که صفحه پیش فرض ثبت نام نمایش داده نشه و کاربر به صفحه سفارشی ما هدایت بشه ، برای اینکار کدهای زیر را به انتهای فایل functions.php اضافه میکنیم.

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

حالا باید تابع مربوط به ثبت نام کاربر را به فایل functions.php اضافه کنیم. در این تابع فقط ایمیل به عنوان نام کاربری مورد اعتبار سنجی قرار میگیرد:

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

کد بالا اعتبار سنجی های لازم برای ورودی ها را انجام داده و سپس تابع register_user را فراخوانی میکند در صورت بروز خطا آن را در صفحه ثبت نام نمایش میدهد و در صورت موفقیت آمیز بودن ثبت نام به صفحه لاگین ریدایرکت شده و پیام مناسب به کاربر نمایش میدهد. برای نمایش پیام مناسب در هنگام ثبت نام موفقیت آمیز، کدهای زیر را به صفحه لاگین (custom-login.php) اضافه می کنیم:

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

2 دیدگاه برای “جایگزین صفحه ثبت نام در وردپرس + فیلم آموزشی

  • حامد
    - ۲۴ دی , ۱۳۹۷

    سلام. ممنون از سایت فوق العادتون. سوالی که برای من پیش اومده اینه که تمام قسمت ها درست کار میکنن بجز switch case که برای ارور ها در نظر گرفتید . یعنی برای من اینجوریه.
    شما توی هر کیس wpschoool-login رو هم ارسال میکنید. این عبارت کار خاصی انجام میده ؟

    • سیروس
      - ۲۵ دی , ۱۳۹۷

      سلام دوست عزیز ، کدها چک شده و تو فیلم آموزشی هم می تونید ببینید که به درستی کار میکنه، باید چک کنید که کدوم قسمت رو اشتباه کردید و مجدد کارها رو انجام بدید ،
      وقتی دکمه ثبت نام رو کلیک می کنید چک کنید در url کدهای خطا موجود است یا نه! اگه نبود کدهای سمت سرور درست کار نیم کنند و اگر موجود بود کدهایجاوا اسکریپت سمت کاربر درست کار نمی کنن.
      در مورد wpschoool-login باید بگم که صرفا جهت ترجمه هستش و با استفاده از اون می تونید ترجمه های مختلفی از یک پیام تو کدتون داشته باشید و جایگزین کنید.

دیدگاه خود را بیان کنید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Captcha loading...