آموزش ایجاد گروه کاربری جدید در وردپرس [کد نویسی – افزونه]

امیر شیخ زاده آموزش 12 اکتبر 2023
آموزش ایجاد گروه کاربری جدید در وردپرس [کد نویسی – افزونه]

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

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

ایجاد گروه کاربری جدید در وردپرس با کدنویسی

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

ما برای این کار از توابع اصلی وردپرس استفاده می کنیم. که شامل :

در زیر ما نمونه هایی رو برای آشنایی شما با هر یک از این توابع آورده ایم. برای استفاده از هر یک از کدها کافی هستش این کد رو به بخش functions قالب خودتون اضافه کنید.

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

ایجاد گروه کاربری جدید با دسترسی های نقش های کاربری پیش فرض وردپرس :

در کد بالا به جای administrator می توانید از سایر نقش های کاربری استفاده کنید. همچنین به جای custom_admin مقدار دلخواه خود و به جای my admin نام نمایش دلخواه خود را می توانید قرار دهید.

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

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

ایجاد گروه کاربری جدید با دسترسی های سفارشی :

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

لیست دسترسی های نقش های کاربری در وردپرس :

در جدول زیر تمامی دسترسی های هر یک از نقش های کاربری آورده شده است که از سایت خود وردپرس هم می توانید بررسی کنید (‌منبع وردپرس)

CapabilitySuper AdminAdministrator
مدیر کل
Editor
ویرایشگر
Author
نویسنده
Contributor
مشارکت کننده
Subscriber
مشترک
create_sitesY
delete_sitesY
manage_networkY
manage_sitesY
manage_network_usersY
manage_network_pluginsY
manage_network_themesY
manage_network_optionsY
upload_pluginsY
upload_themesY
upgrade_networkY
setup_networkY
CapabilitySuper AdminAdministratorEditorAuthorContributorSubscriber
activate_pluginsYY (single site or enabled by network setting)
create_usersYY (single site)
delete_pluginsYY (single site)
delete_themesYY (single site)
delete_usersYY (single site)
edit_filesYY (single site)
edit_pluginsYY (single site)
edit_theme_optionsYY
edit_themesYY (single site)
edit_usersYY (single site)
exportYY
importYY
CapabilitySuper AdminAdministratorEditorAuthorContributorSubscriber
install_pluginsYY (single site)
install_themesYY (single site)
list_usersYY
manage_optionsYY
promote_usersYY
remove_usersYY
switch_themesYY
update_coreYY (single site)
update_pluginsYY (single site)
update_themesYY (single site)
edit_dashboardYY
customizeYY
delete_siteYY
CapabilitySuper AdminAdministratorEditorAuthorContributorSubscriber
moderate_commentsYYY
manage_categoriesYYY
manage_linksYYY
edit_others_postsYYY
edit_pagesYYY
edit_others_pagesYYY
edit_published_pagesYYY
publish_pagesYYY
delete_pagesYYY
delete_others_pagesYYY
delete_published_pagesYYY
delete_others_postsYYY
delete_private_postsYYY
edit_private_postsYYY
read_private_postsYYY
delete_private_pagesYYY
edit_private_pagesYYY
read_private_pagesYYY
unfiltered_htmlYY (single site)Y (single site)
unfiltered_htmlYYY
CapabilitySuper AdminAdministratorEditorAuthorContributorSubscriber
edit_published_postsYYYY
upload_filesYYYY
publish_postsYYYY
delete_published_postsYYYY
edit_postsYYYYY
delete_postsYYYYY
CapabilitySuper AdminAdministratorEditorAuthorContributorSubscriber
readYYYYYY

نحوه حذف نقش های کاربری وردپرس

برای حذف گروه های کاربری پیش فرض وردپرس یا نقش های سفارسی که خودتان اضافه کرده این می توانید به functions قالب خودتون کد زیر رو اضافه کنید:

در کد بالا author مربوط به نقش نویسنده هست برای به دست آورد مقدار سایر نقش های کاربری کافی هست در بخش افزودن کاربر بر روی select باکس راست کلیک کرده و با استفاده از inspect مقادیر را مشاهده کنید.

توجه داشته باشید که با حذف هر یک از نقشه ها آن را به صورت دائمی پاک می کنید و بعد از پاک کردن کد مربوطه نقش کاربری باز نخواهد گشت.

shop_manager مدیر فروشگاه

customer مشتری

subscriber مشترک

contributor مشارکت کننده

author نویسنده

editor ویرایشگر

اضافه کردن دسترسی به یک نقش کاربری در وردپرس :

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

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

حذف دسترسی یک نقش کاربری در وردپرس :

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

خوب اگر در مورد کدهای بالا هر سوالی داشت باشید می توانید در بخش نظرات با ما در میان بگذارید خوشحال می شویم شما را راهنمایی کنیم.

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

برای مدیریت نقش های کاربری یا اضافه کردن گروه کاربری جدید پیشنهاد ما استفاده از افزونه User Role Editor هست که به صورت رایگان می توانید از مخزن وردپرس دانلود کنید. صفحه افزونه User Role Editor در وردپرس از امکانات این افزونه می تواند به موارد زیر اشاره کرد :

به طور خلاصه، افزونه وردپرس “User Role Editor” امکانات زیر را برایتان فراهم می‌کند:

  1. تغییر آسان نقش‌ها و دسترسی کاربران با فعال کردن جعبه‌ها.
  2. اضافه کردن نقش‌های جدید و تنظیم دسترسی آن‌ها.
  3. حذف نقش‌های ایجاد شده توسط کاربر اگر به هیچ کاربری اختصاص داده نشده باشند.
  4. تغییر نقش پیش‌فرض کاربران جدید.
  5. تخصیص دسترسی ها برای هر کاربر به صورت جداگانه.
  6. تخصیص چندین نقش به یک کاربر به صورت همزمان.
  7. اضافه کردن یا حذف دسترسی ها، حتی از افزونه‌هایی که غیرفعال شده‌اند.
  8. پشتیبانی از مدیریت چندین وب‌سایت (Multi-site).

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

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]

دیدگاهتان را بنویسید

فیلد های ستاره دار* الزامی می باشند.