۴ hosseinsalehi
سازگاری با افزونه‌های دیگه
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۲۴ فروردین ۱۴۰۲

سلام

افزونه فرم ورود و ثبت نامی که در نظر داریم بنویسیم با افزونه لرن دش سازگاری داره؟

و اینکه کلا چطور میشه سازگاری این افزونه هایی که به این شکل هستن و مثلا چند افزونه دیگه ای که داریم و یک کار مشترک انجام میدن (در اینجا ثبت نام کاربر) سازگاری داشته باشن و به کانفیلیگ نخورن.

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

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

سلام و احترام

  • ورود و ثبت نام در وردپرس ثابت هست یعنی داده‌های اصلی کاربر در جدول مشترک قرار میگیرد پس سازگاری به صورت خود به خود ایجاد میشود ولی اگر سوال شما در زمینه داده هایی اضافه ای هست که احیانا دریافت میشود شما میتوانید مستندات افزونه لرن دش یا هر پلاگین و قالب دیگری را مطالعه کنید و سازگاری ایجاد نمایید.
  • ریدایرکت ورود وردپرس کار ساده ای هست در گوگل سرچ کنید how to redirect wp login page php code
  • اینکه برحسب نقش‌های مختلف کاربر صفحات ورود مختلف را متوجه نشدم » اولا وقتی کاربر لاگین نکرده است شما نقش کاربری یوزر را ندارید که تصمیم بگیرید چه صفحه را نمایش دهید و اینکه داده‌های لاگین ثابت هستند بین اعضا ! مثلا ایمیل و رمز چه نقش کاربری مشترک چه ادمین یکی هست.
  • غیرفعال کردن نوارد ادمین وردپرس هم ساده هست » کد زیر را مشاهده کنید
add_filter('show_admin_bar', '__return_false');

موفق باشید

بهنام مرادی ۲۴ فروردین ۱۴۰۲، ۲۰:۵۸

سلام مجدد

ممنون از پاسختون

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

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

این موردی که فرستادین رو تست میکنم. ولی از ظاهر کد مشخص هست که ادمین بار رو برای همه غیر فعال میکنه.

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



hosseinsalehi ۲۶ فروردین ۱۴۰۲، ۰۷:۰۴

با سلام مجدد

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

در ارتباط با حذف نوار ادمین، انتظار میرود با توجه به اینکه دوره کاملی پشت سر گذاشته اید بتوانید چند شرط ساده را به کار بگیرید

اما باز هم یک نمونه کد قرار داده میشود:

$roles =  [ 'subscriber','editor'];
   if ( isset( $roles ) && ! empty( $roles ) ) {
      foreach ( $roles as $role ) {
         if ( current_user_can( $role ) ) {
            show_admin_bar( false );
            break;
         }
      }
   }
بهترین پاسخ
بهنام مرادی ۲۶ فروردین ۱۴۰۲، ۱۷:۱۲

ممنون سپاس گذارم.

hosseinsalehi ۲۷ فروردین ۱۴۰۲، ۰۷:۳۶