حذف و اضافه نقش کاربری در وردپرس
با سلام خدمت شما دوستان عزیز . بعضی مواقع شاید به فکرتان رسیده باشد چطور می توان بدون افزونه نقش های کاربری اضافی وردپرس را حذف کرد ؟ یا نقش های جدید با دسترسی محدود ایجاد کرد . امروز قصد داریم این مورد را به شما آموزش دهیم . ابتدا از حذف کردن شروع میکنیم که راحتر است! به مثال زیر توجه کنید :
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 و طبق مثال اولی میتوانید این کار را انجام دهید . موفق باشید