ورود و عضویت
0
No products in the cart.

آموزش کامل افزودن نقش کاربری سفارشی در وردپرس ( بدون افزونه )

عمومی وردپرس مدیر زرد وردپرس 28 ارد 1400

سلام و درودی بی پایان خدمت شما زرد وردپرسی های بزرگوار. امروز میخواهیم در کنار شما باشیم با یک آموزش کامل که میتونه دغدغه شما عزیزان باشه. حتما میدونید که در وردپرس نقش های کاربری مختلفی وجود داره که هر کدام از آن ها دسترسی های مشخصی دارند. برای مثال : مدیر کل ، مشارکت کننده ، مشتری ، مشترک و… مدیر کل به همه قسمت های سایت دسترسی دارد اما نقش کاربری مشارکت کننده تنها میتوانید به بخش نوشته ها و ارسال نوشته جدید دسترسی داشته باشد. همه این ها به دلیل وجود نقش های کاربری مشخص برای افزایش عملکرد و امنیت سایت شما است. حال در ادامه با ما همراه باشید تا آموزش کامل افزودن نقش کاربری سفارشی در وردپرس ( بدون افزونه ) را به شما شرح دهیم.

چرا یک نقش کاربری سفارشی ایجاد کنیم؟

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

در ادامه بخوانید:  اضافه کردن استایل دلخواه خود از طریق سفارشی سازی بدون افزودن CSS به صفحه

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

توابع اصلی وردپرس در رابطه با نقش کاربری

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

  • add_role(): تابع افزودن نقش کاربری سفارشی در وردپرس
  • remove_role(): حذف یک نقش کاربری سفارشی که از قبل ایجاده شده است.
  • add_cap(): افزودن قابلیت جدید به یک نقش دلخواه ( cap مخفف compatibles است.)
  • remove_cap(): برعکس تابع قبلی که برای حذف یک توانایی از یک نقش کاربری خاص است.
  • get_role (): اطلاعات درباره نقش کاربری مشخص و توانایی های آن با این تابع قابل دسترسی است.

آشنایی با توانایی های پیشفرض وردپرس

همانطور که گفتیم وردپرس یک سری توانایی های یا به اصطلاح compatibles دارد که شما میتوانید آن را به نقش ها اعطا کنید. خب در بخش قبل گفتیم که با تابع add_cap میتوانیم یک توانایی جدید ایجاد کنیم اما این توانایی هایی که میخواهیم به شما بگوییم توانایی های پیشفرض است که وردپرس دارد و میتوانید برای هر پست تایپی استفاده کنیم:

  • Create posts : ساخت پست ها
  • Edit posts : ویرایش پست ها
  • Edit Others posts : ویرایش پست های دیگران
  • Manage categories : مدیریت دسته بندی ها
  • Edit Pages : ویرایش صفحات

یک سری توانایی های دیگر هم داریم که مربوط به مدیریت میشود مانند:

  • Edit themes : ویرایش قالب ها
  • Add or Remove Plugins : نصب یا حذف پلاگین ها
  • Update core : بروزرسانی هسته
در ادامه بخوانید:  بررسی مشتریان در وب سایت های وردپرس با استفاده از Wiremo

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

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

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

// Add a custom user role
$result = add_role( 'supporter', __(
'supporter' ),
array( ) );

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

// Add a custom user role
$result = add_role( 'supporter', __(
'supporter' ),
array(

'read' => true, // true allows this capability
'edit_posts' => true, // Allows user to edit their own posts
'edit_pages' => true, // Allows user to edit pages
'edit_others_posts' => true, // Allows user to edit others posts not just their own
'create_posts' => true, // Allows user to create new posts
'manage_categories' => true, // Allows user to manage post categories
'publish_posts' => true, // Allows the user to publish, otherwise posts stays in draft mode
)
);

خب در کدهای بالا گفتیم که نقش کاربری supporter که ایجاد کردیم چه تواناهایی داشته باشید برای مثال با edit_posts بتواند پست ها را ویرایش کند. عبارت true به این معنی است که این دسترسی برای این نقش کاربری فعال شود. حال اگر بخواهیم که یک دسترسی را غیرفعال کنیم کافیست به جای true عبارت false را قرار دهیم. پس با کد بالا نقش کاربری که ما ایجاد کرده ایم به توانایی های مشخص شده دسترسی دارد.

در ادامه بخوانید:  اموزش نصب و آپدیت قالب و افزونه وردپرس

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

<// Add a custom user role
$result = add_role( 'supporter', __(
'supporter' ),
array(
'read' => true, // true allows this capability
'edit_posts' => true, // Allows user to edit their own posts
'edit_pages' => true, // Allows user to edit pages
'edit_others_posts' => true, // Allows user to edit others posts not just their own
'create_posts' => true, // Allows user to create new posts
'manage_categories' => true, // Allows user to manage post categories
'publish_posts' => true, // Allows the user to publish, otherwise posts stays in draft mode
'edit_themes' => false, // false denies this capability. User can’t edit your theme
'install_plugins' => false, // User cant add new plugins
'update_plugin' => false, // User can’t update any plugins
'update_core' => false // user cant perform core updates
)
);

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

برای حذف یک نقش کاربری از تابع remove_role به جای add_role استفاده میکنیم یعنی کد زیر را در فانکشنز یا هر فایل php خود قرار میدهیم:

remove_role( 'supporter' );

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

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

مدیر زرد وردپرس

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

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

preloader