دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۴
  • شهریور

جلسه ۵۱ : آشنایی با نقش ها و قابلیت های کاربر در ساخت پلاگین

  • دسته‌بندی‌ها :
جلسه ۵۱ : آشنایی با نقش ها و قابلیت های کاربر در ساخت پلاگین
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن به ویژه کاربرانی که به سیستم مدیریت محتوای قدرتمند وردپرس علاقمند هستند.
      به ” دوره متخصص وردپرس ” خوش آمدید!
      در این دوره قرار است توسعه و ارتقاء پلاگین های وردپرس را به صورت جامع و کامل بیاموزیم.
      فرقی نمی کند که در شرف نوشتن اولین پلاگین خود هستید و یا این که پنجاهمین پلاگین خود را می نویسید! امیدوارم این دوره برایتان مفید باشد.
      در جلسه پیش با متای داده های کاربر و کاربرد آن آشنا شدیم.
      در ادامه این سر فصل آشنایی با نقش ها و قابلیت های کاربر در ساخت پلاگین می پردازیم.

      آشنایی با نقش ها و قابلیت های کاربر در ساخت پلاگین

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

      نقش ها Roles

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

      • Super Admin مدیر ارشد
      • Administrator مدیر
      • Editor ویرایشگر
      • Author نویسنده
      • Contributor مشارکت کننده
      • Subscriber مشترک

      می توان نقش های بیشتری را نیز اضافه کرده و نقش های پیش فرض تعیین شده را حذف نمود.

      آشنایی با نقش ها و قابلیت های کاربر در ساخت پلاگین

      آشنایی با نقش ها و قابلیت های کاربر در ساخت پلاگین

      افزودن نقش ها

      می توان به وسیله ()add_role نقش های جدیدی را اضافه کرده و قابلیت هایی جدیدی را به آن افزود.

      مثال : 

      بعد از اولین فراخوانی برای ()add_role ، نقش و قابلیت های آن در دیتابیس ذخیره می شود!
      فراخوانی های متعدد نمی تواند به کار شما بیاید برای مثال : تغییر لیست قابلیت ها.

      نکته

      برای تغییر لیست قابلیت ها به صورت عمده :
      نقش را با استفاده از ()remove_role حذف کرده و با قابلیت های جدید دوباره آن را با استفاده از ()add_role اضافه کنید.
      اطمینان حاصل کنید که این کار را فقط درصورتی انجام دهید که قابلیتها با آنچه در گذشته بودند متفاوت باشد.

      حذف نقش ها

      می توان نقش ها را با ()remove_role کرد.

      مثال : 

      بعد از اولین فراخوانی برای ()remove_role ، نقش و قابلیت های آن از پایگاه داده حذف می شود!
      مثل همیشه فراخوانی های متعدد باز هم بی تاثیر است.
      اگر نقش های پیش فرض را حذف نمایید :

      • شدیداً مواظب باشید که نقش مدیر ارشد Super Admin و مدیر Administrator را حذف ننمایید!
      • مطمئن شوید که کد را در plugin/theme خود نگه دارید زیرا ممکن است به روزرسانی های آینده وردپرس این نقش ها را دوباره اضافه کند.
      • اجرا Run
        (update_option(‘default_role’, YOUR_NEW_DEFAULT_ROLE
        از آنجا که مشترک شما را حذف می کند که نقش پیش فرض WP است.

      قابلیت ها Capabilities

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

      نکته

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

      افزودن قابلیتها

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

      برای بدست آوردن شی نقش از ()get_role استفاده کنید.
      سپس از روش ()add_cap آن شی استفاده کنید تا قابلیت جدیدی به آن اضافه شود.

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

      طبق تنظیمات پیش فرض ادمین وردپرس، قابلیتها تاثیری ندارند اما می توانند برای صفحه های ادمین سفارشی و front-end استفاده شوند.

      حذف قابلیت ها

      مثال : 

      می توان قابلیت ها را از یک نقش حذف کرد.
      فرآیند حذف قابلیت ها شباهت زیادی به فرآیند افزودن آن دارد.
      برای حذف آن می توان از متود ()remove_cap برای شی یک نقش استفاده کرد.

      استفاده از نقش ها و قابلیت ها

      دریافت نقش

      با دریافت ()get_role می توان ویژگی نقش را از جمله همه قابلیت های آن را دریافت کرد.

      توانایی کاربر

      بررسی کنید که کاربر با user_can (یا) دارای نقش یا قابلیت مشخص شده است یا خیر.

      مثال : 

      در این کد یک undocumented و سه آرگومان و یک args$ که ممکن است شامل شی شود؛ وجود دارد.
      به عنوان مثال. شناسه پست را امتحان کنید تا توانایی آن پست خاص را آزمایش کنید.

      توانایی کاربر فعلی

      ()current_user_can یک تابع بسته بندی برای ()user_can است که از شیء کاربر فعلی به عنوان پارامتر user$ استفاده می کند.
      از این کار در سناریوهایی استفاده کنید که در آن قسمتهای front-end و back-end باید به سطح مشخصی از امتیازات دسترسی داشته باشند و یا نیاز به اصلاح داشته باشند.

      مثال

      در ادامه مثالی برای افزودن لینک ویرایش به فایل تم به کاربری که قابلیت های لازم را دارد؛ ارائه شده است :

      مثال : 

      Multisite سایت های جندگانه

      از تابع ()current_user_can_for_blog برای آزمایش اینکه کاربر فعلی نقش یا توانایی خاصی در یک وبلاگ خاص دارد استفاده می شود.

      مثال : 

      کلام آخر

      با ” آشنایی با نقش ها و قابلیت های کاربر در ساخت پلاگین ” سر فصل کاربران یا Users را به پایان رساندیم.
      در ادامه این دوره در سر فصل بعدی به جاوا اسکریپت خواهیم پرداخت.
      با پی وی لرن همراه باشید.

      QR:  جلسه ۵۱ : آشنایی با نقش ها و قابلیت های کاربر در ساخت پلاگین
      به اشتراک بگذارید