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

وردپرس به صورت پیش فرض شش نقش یا Role از پیش تعریف شده دارد:

  1. مدیر کل (Super Admin)
  2. مدیر (Administrator)
  3. ویرایشگر (Editor)
  4. نویسنده (Author)
  5. مشارکت کننده (Contributor)
  6. مشترک (Subscriber)

هر نقش از مجموعه ای وظیفه(توانایی، قابلیت) یا Capability تشکیل شده است و هر فردی می تواند دارای یک یا چند نقش متفاوت باشد، به عنوان مثال شخصی که دارای نقش نویسنده است فقط می تواند پست ها و نوشته های خودش را ویرایش و مدیریت نماید، یا فردی در نقش ویرایشگر علاوه بر نوشته های خود می تواند به پست های دیگران هم رسیدگی کند.

نقش های وردپرس

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

ممکن است با خودتان بگویید با استفاده از تابع add_cap قابلیت ممیزی دیدگاه ها(Moderate Comments) را به نقش مشترک که هیچ استفاده ای از آن نمی کنیم اختصاص می دهیم. اما اینکار روش مناسبی نیست، اگر فردا روزی امکان ثبت نام کاربران را برای وب سایت تان فعال کردید چه؟

بهترین و مطمئن ترین روش تعریف یک نقش جدید(Comments Moderator) و سپس اختصاص وظایف موردنظرتان به آن نقش می باشد، برای انجام اینکار می توانید به دو روش زیر عمل کنید:

۱- افزونه وردپرس

به منظور ایجاد و مدیریت نقش ها می توانید از افزونه قدرتمند و محبوب Members استفاده کنید، پس از نصب و فعال سازی افزونه فوق گزینه “افزودن نقش” به منوی کاربران اضافه خواهد شد، برای تعریف نقش جدید کافی است مشخصات و مجوزهای لازم را مشابه تصویر زیر تکمیل نمائید.

افزونه members justin tadlock

حالا اگر به فرم افزودن کاربر مراجعه کنید نقش “ممیزی دیدگاهها” به لیست نقش ها اضافه شده است، توجه داشته باشید که پس از نصب افزونه Members امکان تخصیص چندین نقش به یک کاربر وجود خواهد داشت.

ایجاد نقش جدید در وردپرس

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

۲- کدنویسی وردپرس

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

add_role( $role, $display_name, $capabilities );

 

  1. role: نام نقش که باید منحصربفرد باشد(اجباری).
  2. display_name: عنوانی که در فرم افزودن کاربر و سایر قسمت ها نمایش داده می شود(اجباری).
  3. capabilities: وظایف و قابلیت های نقش جدید(اختیاری).

حالا مثال بالا را بدون افزونه و با توابع وردپرس پیاده سازی می کنیم، کافی است کد زیر را در فایل functions.php قرار دهید.

add_role(
    'comment_moderator',
    __( 'ممیزی دیدگاه ها' ),
    array(
        'read'         => true, 
        'moderate_comments'   => true,
    )
);

 

یا در مثالی دیگر می توانید در هنگام فعال سازی افزونه نقش کاربری موردنظرتان را به وردپرس اضافه نمائید.

function my_plugin_add_roles() {
    add_role( 'custom_role', 'Custom Subscriber',
        array(
            'read' => true,
            'edit_posts' => true,
            'delete_posts' => false
        ));
}
register_activation_hook( __FILE__, 'my_plugin_add_roles' );

 

در پایان برای آشنایی بیشتر با نقش ها و مجوزهای هر نقش به لینک Roles and Capabilities مراجعه فرمائید.

نظرات و سوالات کاربران

پاسخی بگذارید

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