حذف و اضافه نقش کاربری در وردپرس
با سلام خدمت شما دوستان عزیز . بعضی مواقع شاید به فکرتان رسیده باشد چطور می توان بدون افزونه نقش های کاربری اضافی وردپرس را حذف کرد ؟ یا نقش های جدید با دسترسی محدود ایجاد کرد . امروز قصد داریم این مورد را به شما آموزش دهیم . ابتدا از حذف کردن شروع میکنیم که راحتر است! به مثال زیر توجه کنید :
function snippets_remove_role() {
remove_role( 'editor' );
remove_role( 'author' );
remove_role( 'contributor' );
remove_role( 'subscriber' );
}
add_action( 'init', 'snippets_remove_role' );
کد کاملا واضح است . ابتدا یک تابع تعریف کردیم و آن را در وردپرس فراخوانی نمودیم . سپس با استفاده از تابع remove_role نقش های مورد نظر را حذف کردیم . حال می رسیم به افزودن نقش . برای این کار از تابع زیر استفاده میکنیم :
add_role( $role, $display_name, $capabilities );
همانطور که از تابع معلوم است 3 تا پارامتر دریافت می کند . اولی نام نقش است . که باید به انگلیسی وارد کنید و تکراری هم نباشد . دومی نام نقش است ! منتها دومی در سایت نمایش داده می شود . به عنوان مثال نام اولی را chat_op میگذارید و نام دومی را Chat Operator بعد در سایت کلمه Chat Operator به نمایش گذاشته می شود . پارامتر آخری هم دسترسی های کاربر را تعریف می کند . به مثال زیر توجه کنید :
function snippets_add_role() {
add_role(
'new-role',
__( 'New Role' ),
array(
'read' => true,
'edit_posts' => true,
'upload_files' => true,
'publish_posts' => true,
'delete_posts' => false,
)
);
}
add_action( 'init', 'snippets_add_role' );
خب قبل از اینکه ادامه بدهید کد را تست کنید . مثلا روی لوکال هاست تست کنید و نتیجه اش را ببینید تا برسیم به بقیه مطلب . ما با تابع add_role یک نقش تعریف کردیم با نام new-role و نامی که در سایت نمایش داده می شود New Role می باشد . دسترسی خواندن ، ویرایش مطلب، آپلود فایل و انتشار مطلب بدون بازبینی به این کاربر داده شده است . همچنین اجازه حذف مطالب را نیز ندارد حتی مطالب ارسالی توسط خودش . جهت مشاهده دسترسی ها و نام مستعار آن ها میتوانید به این لینک مراجعه کنید .
همچنین اگر خواستید نقش بالا را حذف کنید با استفاده از کلید واژه new-role و طبق مثال اولی میتوانید این کار را انجام دهید . موفق باشید




