مدیریت دسترسی پیشخوان وردپرس با افزونه User Role Editor
MANAGE ACCESS TO WORDPRESS DASHBOARD WITH USER ROLE EDITOR PLUGIN
mohsen۲ ساعت پیشآخرین به روز رسانی: ۱۴۰۳/۰۴/۱۰
مدیریت دسترسی پیشخوان وردپرس، یکی از اصلیترین دغدغههای مدیران وبسایت هاست. فرقی نمیکند که مالک یک وبسایت وردپرسی نوپا باشید، یا یک سایت پر بازدید با ۱۰ها کارمند، در هر حالت، دسترسی کارمندان سایت به پیشخوان وردپرس باید مدیریت شود. هدف آقای “Vladimir Garagulya” از توسعهی افزونهی User Role Editor هم همین موضوع بوده است!
احتمالا شما هم از نقشهای کاربری پیشفرض وردپرس اطلاع دارید. مواردی مثل مدیرکل، ویرایشگر، نویسنده و… از اولین نقش کاربریهایی هستند که یک کاربر وردپرس با آنها آشنا میشود. این نقشهای کاربری بهصورت پیشفرض در CMS وردپرس ایجاد شدهاند و هر کدام سطح دسترسی مخصوص به خود را دارند. نصب برخی افزونهها هم منجر به افزایش این نقشهای کاربری میشود. مثلا افزونه ووکامرس، نقشهایی مثل مدیر فروش، انباردار و… را به سایت وردپرسی شما اضافه میکند یا افزونه “Yoast SEO” نقشهایی مثل مدیر SEO و سایر نقشها را به سایت شما میافزاید.
هر زمان که در سطح سیستم مدیریت محتوای وردپرس حرفی از محدودسازی دسترسیهای پیشخوان بهمیان میآید، استفاده از افزونه User Role Editor یکی از اولین راهکارهایی است که پیشنهاد میشود. این افزونه در زمان نگارش این مقاله بیشتر از ۷۰۰ هزار نصب فعال دارد و بیش از ۱۶ میلیون بار از منبع وردپرس دانلود شده است!
در این مقاله از سری مقالات «بررسی جامع» تصمیم داریم که به سراغ افزونه محبوب User Role Editor برویم و تمامی جوانب این افزونه را بررسی نماییم. تا انتهای این نوشته با ما در نت افراز بلاگ همراه باشید.
آنچه در این مقاله میخوانید
- مقایسه نسخه رایگان افزونه User Role Editor با نسخه Pro
- شروع کار با افزونه یوزر رول ادیتور
- تغییر سطح دسترسیهای یک کاربر با پلاگین User Role Editor
- تغییر دسترسیهایی یک نقش کاربری با افزونه User Role Editor
- بررسی اختیارات (Capabilities) پیشفرض وردپرس
- ایجاد نقش کاربری سفارشی با افزونه User Role Editor
- بازگردانی تمام تنظیمات به حالت اولیه
مقایسه نسخه رایگان افزونه User Role Editor با نسخه Pro
یکی از اولین سوالات کاربران در زمان انتخاب یک افزونه این است که آیا این افزونه نسخه حرفهای (Pro) هم دارد یا خیر؟
جواب این سوال در رابطه با افزونه User Role Editor مثبت است. ورژن حرفهای این افزونه در نسخهی یک ساله و تک کاربره، ۲۸ دلار قیمت دارد که برای بررسی پلنهای بیشتر و قیمتهای آن میتوانید به سایت سازندهی افزونه سر بزنید.
نهایتا به برتریهای نسخه Pro نسبت به نسخه رایگان میرسیم. از آنجایی که بر اساس گفتههای توسعه دهنده، در ابتدا تصمیمی مبنی بر انتشار نسخه حرفهای وجود نداشته است، اکثر قابلیتها در نسخه رایگان هم در دسترس هستند و نسخه حرفهای تنها برخی محدودیتهای خاص را برطرف میسازد.
برخی از برتریهای نسخه حرفهای که در نسخه رایگان مشاهده نمیشوند، عبارتند از:
- ایجاد محدودیت بر روی ویجتها و آیتمهای تمامی صفحات بر اساس نقشهای کاربری
- ایجاد محدودیت بر روی متاباکسها (Metaboxes) بر اساس نقش کاربری
- ایجاد دسترسی محدود به هر افزونه برای یک نقش کاربری یا گروه کاربران
- امکان دریافت خروجی از نقشهای ایجادشده و Import آن در سایتی دیگر
- امکان استفاده بر روی سیستمهای مولتی سایت (Multi Site)
- ایجاد محدودیت برای نمایش محتوای سایت در بخش Front-end بر اساس نقش کاربری
- حذف کامل تبلیغات مربوط به افزونه User Role Editor
- پشتیبانی حرفهای و تضمینشده برای حل مشکلات کاربر از طریق تیکت
مسلما برخورداری از امکانات بالا بسیار جذاب خواهد بود و دست مدیر سایت را برای مدیریت بهتر حسابهای کاربری و دسترسی آنها بازتر میگذارد، اما آیا خرید نسخه Pro افزونه User Role Editor ضروری است؟ خیر!
همانطور که امکانات نسخهی حرفهای افزونه User Role Editor را در بند قبلی مشاهده کردید، این امکانات به گونهای نیستند که برای یک سایت معمولی یا حتی نسبتا پیشرفته مورد نیاز باشند. از همین رو میتوانید تنها با دانلود و نصب افزونه User Role Editor از مخزن وردپرس، به تمامی امکانات موردنیاز خود دسترسی داشته باشید. نصب این افزونه هم بسیار ساده بوده و مانند تمامی افزونههای دیگر است، با این حال چنانچه با نصب افزونهها در وردپرس آشنا نیستید، میتوانید از مقالهی «آموزش نصب افزونههای وردپرس» کمک بگیرید.
شروع کار با افزونه یوزر رول ادیتور
پس از نصب افزونه، دو تغییر اساسی در پیشخوان وردپرس شما رخ میدهد که با استفاده از آنها میتوانید به بهترین شکل، سطح دسترسیهای کاربران را بر اساس نقش کاربری یا بر اساس وظایف یک کاربر، مدیریت نمایید.
در وردپرس اختیاراتی وجود دارد که به آنها “Capabilities” گفته میشود. هر Capabiliti بیانگر یک عمل است. خوشبختانه این اختیارات که در هستهی وردپرس تعریف شدهاند، به گونهای نامگذاری شدهاند که کار را برای ما ساده میکند. مثلا اختیاری تحت عنوان ” activate_plugins” در هستهی وردپرس تعریف شده که به کاربر این امکان را میدهد تا بتواند افزونههای غیرفعال را، فعال نماید. همانطور که دیدید، تقریبا از شناسهی هر مجوز، میتوان به عملکرد آن پی برد.
افزونه User Role Editor تمامی این اختیارات را برای هر نقش کاربری (Primary Role) پیدا کرده و آنها را در یک صفحه به شما نمایش میدهد. به این ترتیب شما میتوانید ببینید که یک نقش کاربری یا حتی یک کاربر، چه اختیاراتی دارد و آنها را بر اساس سیاست خود فعال یا غیرفعال نمایید. علاوه بر این موضوع، لیست سایر اختیاراتی که کاربر میتواند داشته باشد به شما نشان داده میشود که به کمک آن میتوانید حتی اختیاراتی اضافی را در اختیار کاربر یا گروه کاربری مدنظر خود قرار دهید.
این قاعده، روش اعمال تغییرات مدنظر شما برای مدیریت سطح دسترسی کاربران از طریق افزونهی User Role Editor است. اکنون که با منطق این افزونه و نحوه کار آن آشنا شدید، وقت آن رسیده که پا را فراتر بگذاریم و این افزونه را در عمل تست کنیم.
تغییر سطح دسترسیهای یک کاربر با پلاگین User Role Editor
در اولین قدم به سراغ سادهترین امکان افزونه User Role Editor، یعنی مدیریت دسترسیهای یک کاربر میرویم. برای این کار تنها کافیست که پس از نصب افزونهی User Role Editor، از طریق سایدبار پیشخوان، گزینهی “همه کاربران” را مطابق با تصویر زیر انتخاب نمایید.
با این کار لیست کاملی از تمامی اعضای سایت خود را میتوانید مشاهده کنید.
اکنون باید حساب کاربریِ شخص موردنظر خود را پیدا کنید. برای این کار، میتوانید از قسمت سرچ موجود در بالای این صفحه کمک بگیرید. پس از اینکه کاربر مدنظر خود را پیدا کردید، در صورت نصب صحیح افزونه User Role Editor، میتوانید عبارت “Capabalities” را در فضای زیر نام کاربری او (مطابق با تصویر) مشاهده کنید. نهایتا تنها کافیست که بر روی این عبارت کلیک کنید.
اکنون پنجره تنظیمات افزونه User Role Editor برای شما باز شده است و تقریبا میتوانید تمامی دسترسیهای این کاربر را مدیریت کرده و دسترسیهای او را محدود کنید.
اولین گزینهای که باید بر آن نظارت داشته باشید، ستون “Primary Role” است. در اینجا میتوانید نقش اصلی کاربر را تعریف نمایید. وردپرس بهصورت پیشفرض دارای ۵ نقش کاربری متفاوت است که با نصب افزونههای مختلف، این نقشها نیز افزایش پیدا میکند. ۵ نقش اصلی بهترتیب از بیشترین دسترسی به کمترین دسترسی به شرح زیر هستند.
- مدیر کل (Adminstrator)
- ویرایشگر (Editor)
- نویسنده (Author)
- مشارکت کننده (Contributor)
- مشترک (Subscriber)
اینکه هر کدام از این نقشها چه دسترسیهایی دارند و قادر به انجام چه کارهایی هستند، تقریبا از عنوانشان مشخص است و با کمی کار با سیستم مدیریت محتوای وردپرس، میتوانید بهخوبی به آنها مسلط شوید.
اکنون تنها کافیست که اختیارات کاربر را مطابق با سیاست خودتان تنظیم نمایید. توجه داشته باشید که با انتخاب هرچه بهتر نقش کاربری، راحتتر میتوانید دسترسیهای عضو جدید تیم را کنترل کنید. شما میتوانید از طریق افزونه User Role Editor به یک کاربر با سطح دسترسی «مشارکت کننده» بهقدری دسترسیهای اضافی بدهید، که تفاوتی با یک مدیر کل نداشته باشد، اما قطعا این کار منطقی نیست و تنها مدیریت دسترسیها را سختتر میکند!
بنابراین در ابتدا از خود بپرسید که عضو جدید تیم، چه وظایفی دارد و برای انجام این وظایف باید چه سطح دسترسی داشته باشد؟ پاسخ این سوال مشخص میکند که Primary Role این کاربر باید کدام مورد باشد.
پس از انتخاب نقش کاربری مناسب و کموزیاد کردن Capabilitiها، تنها کافیست که بر روی کلید “Update” کلیک کنید. با این کار تغییرات شما بهصورت Ajax ذخیره خواهند شد. به خاطر داشته باشید که برای مشاهدهی تغییرات، نیاز است که یک بار صفحه را Refresh کنید.
اگر که مالک یک سایت وردپرسی هستید یا اینکه مدیریت سایت به شما محول شده است، نیاز است که سایر دسترسیهای کاربران را نیز مدیریت کنید. مواردی مثل دسترسیهای برنامه نویسان به دیتابیس سایت یا اتصالات FTP از سایر مواردی هستند که باید بر روی آنها نظارت صحیحی صورت گیرد. پیش از این در رابطه این موضوع و اعمال چنین محدودیتهایی، مقالهای در نت افراز بلاگ منتشر کردهایم که به شما کمک میکند سطح دسترسی کارمندان سایت را به زیرساختهای سرویس میزبانی خود مدیریت نمایید. برای مطالعهی این مقاله میتوانید از لینک زیر کمک بگیرید.
ارائه دسترسی محدود سایت وردپرسی به کارمندان وبسایت
چنانچه در رابطه با مفهوم هر یک از Capabilities ارائه شده در افزونه User Role Editor مشکلی دارید، در ادامه با ما همراه باشید. تمامی اختیارات پیشفرض وردپرس را در ادامه بررسی خواهیم کرد و به بررسی معنای هر کدام از مجوزها خواهیم پرداخت.
تغییر دسترسیهایی یک نقش کاربری با افزونه User Role Editor
در مرحله قبلی با نحوه تغییر سطح دسترسیهای یک کاربر آشنا شدید اما در این بخش میخواهیم به سراغ یک گروه کاربری برویم. فرض کنید که مدیر یک وبلاگ پربازدید هستید و با یک تیم نویسندگی بسیار بزرگ همکاری میکنید. تمامی نویسندگان شما از سطح دسترسی (Primary Role) «نویسنده» بهره میبرند که به آنها برخی از امتیازات همچون ایجاد یک پست جدید، ویرایش آن و… داده شده است.
اکنون بر اساس سیاستهای کامنت مارکتینگ (Comment Marketing)، تصمیم گرفتهاید که هر نویسنده، باید خودش به کامنتهای زیر هر پستی که مینویسد رسیدگی کند، اما سطح دسترسی نویسنده از Capabiliti مربوطه (moderate_comments) برخوردار نیست! در این شرایط باید چکار کرد؟
اولین راهحلی که به فکر مدیر سایت میرسد، تغییر نقش نویسندگان از «نویسنده» به «ویرایشگر» است، اما این کار، روش درستی نیست، چراکه تفاوتهای سطح دسترسی این دو نقش کاربری بسیار زیاد است و میتواند باعث بروز مشکلات بسیاری شود. مثلا نقش کاربری ویرایشگر میتواند تمامی پستهای سایت را ویرایش یا حتی پاک کند که این اصلا اتفاق خوبی نخواهد بود.
برای حل این مشکل باید یک دسترسی اضافی به گروه کاربری نویسندگان بدهیم که انان را از اختیار “moderate_comments” بهرهمند میسازد. برای این کار باید پس از نصب افزونه User Role Editor، از پیشخوان وردپرس بر روی عبارت “User Role Editor” از بخش کاربران کلیک کنید. با این کار میتوانید تمامی نقشهای کاربری (Primary Roles) سایت خودتان را به همراه تمامی اختیارات آنان مشاهده کنید.
در تصویر بالا ما با استفاده از همین امکان، تفاوت سطحِ دسترسیهای گروه نویسندگان و ویرایشگران را برای شما مشخص کردهایم. تمامی مواردی که با هایلایت قرمز مشخص شدهاند، دسترسیهای اضافی هستند که کاربر ویرایشگر، نسبت به نویسنده برخوردار است.
موردی که با رنگ سبز مشخص شده، تنها نیاز نویسندگان سایت برای مدیریت کامنتهاست و مدیر سایت، میتواند تنها با افزودن این اختیار، به نقش کاربری نویسنده، این امکان را در اختیار آنان قرار دهد.
برای این کار تنها کافیست که چکباکس قرارگرفته در کنار مجوز “moderate_comments” را پر کنید و مطابق با تصویر، بر روی گزینه “Update” در سمت چپ صفحه کلیک کنید. با این کار یک پیام تایید بر روی صفحه ظاهر میشود که شما باید با کلیک بر روی عبارت “Yes” اجرای عملیات را تایید کنید. نهایتا پیامی سبز رنگ در حاشیه صفحه ظاهر میشود که با متن “Role is updated successfully”، موفق بودن عملیات را تایید میکند.
همانطور که دیدید، شما میتوانستید با تغییر نقش کاربری نوسندگان به ویرایشگر هم این دسترسی را به کاربران مدنظر خود بدهید، اما مقایسه کنید که چقدر امکانات اضافی غیرضروری در اختیار نویسندگان قرار میگرفت و این اتفاق میتوانست چه مشکلاتی را رقم بزند.
اکنون که با روشهای تغییر سطح دسترسی یک کاربر و یا گروهی از کاربران آشنا شدید، ممکن است با خود بگویید که چطور میتوانیم متوجه قابلیتهای هر اختیار (Capabiliti) شویم و مجوزهای کارمندان سایت وردپرسی خود را مدیریت کنیم؟ باید بگوییم که بنابر درخواستهای شما همراهان گرامی، در جدیدترین بروزرسانی این نوشته، تمامی اختیارات پیشفرض وردپرس بررسی شدهاند، که این موارد در بخش بعدی قابل مشاهده هستند.
با افزودن افزونههایی مثل ووکامرس، Wordfence ،Yoast Seo و… تنوع اختیارات سایت وردپرسی شما افزایش قابل توجهی پیدا میکند که هرکدام اختیارات متفاوت را در اختیار کاربران قرار میدهند. از آنجایی که بررسی تمامی این موارد در این مقاله ممکن نیست، میتوانید مجوزهای پیشفرض وردپرس را در ادامه مطالعه کنید و Capabilitiهای مدنظر خود در سایر افزونهها را از طریق بخش ارسال نظرات در همین صفحه اعلام نمایید تا عملکرد آن را به شما اعلام کنیم.
بررسی اختیارات (Capabilities) پیشفرض وردپرس
افزونه User Role Editor، کلیه اختیارات پیشفرض وردپرس را به ۱۰ گروه (دستهبندی) تقسیم میکند. اطلاعات مربوط به هر گروه، در جدول زیر قید شده و شما میتوانید با کلیک بر روی هر عنوان، کلیه اختیارات مربوط به آن دستهبندی را مشاهده کنید.
همانطور که روشن است، دستهبندی “All” در افزونه User Role Editor، تمامی اختیارات موجود در این ۱۰ گروه را کنار هم قرار داده و در یک صفحه به شما نمایش میدهد. دستهبندی “Core” هم عملکردی شبیه به دستهبندی “All” دارد. با این تفاوت که اختیارات شخصی ایجاد شده توسط مدیر سایت (Custom capabilities) و اختیارات افزوده شده توسط افزونههای نصب شده توسط شما را شامل نمیشود. در حقیقت با بررسی اختیارات گروههای General تا User Role Editor، ما تمامی اختیارت پیشفرض وردپرس را پوشش خواهیم داد.
کلیه اختیارات قرارگرفته در این دستهبندی، شامل اختیارات اصلی هستهی وردپرس میشوند. مواردی مانند مدیریت تنظیمات، مدیریت لینکها، امکان بارگذاری فایلها از طریق پیشخوان وردپرس و… همگی در این گروه قرار میگیرند.
edit_dashboard | این اختیار به کاربر این امکان را میدهد که بتواند داشبورد وردپرس را ویرایش نماید. مواردی مثل تغییر رنگبندی بخش مدیریت، تغییر ویرایشگر دیداری، فعال یا غیرفعال کردن نوار ابزار و… همگی وابسته به این اختیار هستند. |
export | این اختیار مرتبط به امکان «برونبری» موجود در هستهی وردپرس میباشد. کاربرانی که از این اختیار بهرهند نیستند، نمیتوانند گزینهی برونبری را در بخش «ابزارها» در پیشخوان وردپرس مشاهده نمایند. در نتیجه قادر به Export صفحات، برگهها و… نخواهند بود. |
import | این اختیار مرتبط به امکان «درونریزی» موجود در هستهی وردپرس میباشد. کاربرانی که از این اختیار بهرهند هستند، میتوانند صفحات، برگهها و… را در سیستم وردپرس درونریزی (Import) کنند. |
install_languages | کاربران بهرهمند از این دسترسی، قادر به نصب بستههای زبان بر روی سیستم مدیریت محتوای وردپرس هستند. |
manage_categories | این اختیار به کاربران امکان مدیریت «دستهها» در سربرگ نوشتههای وردپرس را میدهد. در حقیقت کاربران بهرهمند از این اختیار میتوانند دستهبندیهای جدیدی برای نوشتهها ایجاد کنند یا موارد قبلی را ویرایش و حذف نمایند. |
manage_links | این دسترسی امکان مدیریت لینکها و مخصوصا «پیوندهای یکتا» از سربرگ تنظیمات وردپرس را در اختیار کاربر قرار میدهد. |
manage_options | کاربران بهرهمند از این اختیار، به سربرگ «تنظیمات» و تمامی زیرمجموعههای آن از پیشخوان وردپرس دسترسی خواهند داشت و میتوانند تنظیمات وردپرس را مدیریت کنند. |
moderate_comments | این Capabiliti به کاربر امکان مدیریت تمامی فرآیندهای قابل اجرا در بخش دیدگاهها را میدهد. مواردی مثل پذیرفتن، حذف کردن یا ویرایش دیدگاهها از جمله موارد مرتبط با این دسترسی هستند. |
read | این دسترسی امکان مشاهدهی سایت را به کاربر میدهد. بهصورت پیشفرض تمامی کاربران با هر نقش کاربری از این اختیار بهرهمند هستند. حذف این Capabiliti از اختیارات کاربر موجب میشود که او دیگر تا زمانی که در سایت وارد شده است (Login)، قادر به مشاهدهی صفحات سایت نباشد. |
unfiltered_html | مجوز unfiltered_html یک ویژگی امنیتی وردپرس است که از استفاده از تگهای HTML با قابلیتهای عملکردی بسیار مهم مانند iframes و embed و همچنین کدهای پیشرفتهتر مانند جاوا اسکریپت جلوگیری میکند. اختیار unfiltered_html میتواند در دستان افراد سودجو، بسیار خطرناک باشد. برای جلوگیری از اجرای کدهای گفته شده توسط یک فرد، باید این دسترسی از او گرفته شود. |
unfiltered_upload | مجوز unfiltered_upload (آپلود بدون فیلتر) یکی از مهمترین دسترسیهای وردپرس است. این دسترسی به کاربر این امکان را میدهد که بتواند فایل خود را با هر پسوندی، همچون php ،svg و… آپلود نماید. لازم است اشاره کنیم که بهصورت پیشفرض تنها مدیرکل (Administrator) از این مجوز برخوردار است. |
update_core | کاربر بهرهمند از این مجوز میتواند هستهی وردپرس را بروزرسانی نماید. |
upload_files | کاربران برخوردار از این دسترسی میتوانند فایلهای مدنظر خود را تحت شرایط پیشفرض وردپرس بر روی سایت بارگذاری نمایند. این سطح دسترسی تنها شامل فایلهایی با فرمتهای مجاز، همچون jpg و… میباشد. |
view_site_health_checks | کاربران برخوردار از این مجوز میتوانند صفحهی “Site Health” را بررسی نمایند. این صفحه در پیشخوان وردپرس و از طریق بخش “ابزارها > Site Health” در دسترس است. |
همانطور که از نام این دستهبندی هم مشخص است، مجوزهای قرارگرفته در این بخش مربوط به اختیارات کاربران در رابطه با مدیریت پوستههای سایت (Themes) است. موارد موجود در این بخش را میتوانید در ادامه مشاهده نمایید.
delete_themes | کاربر بهرهمند از این اختیار، میتواند پوستههای سایت را حذف نماید. |
edit_theme_options | کاربران بهرهمند از این مجوز، میتوانند تنظیمات مربوط به پوسته سایت را مدیریت نمایند. این مجوز تنها در شرایطی که پوسته سایت شما بهصورت استاندارد کدنویسی شده باشد، عملکرد صحیحی خواهد داشت. |
edit_themes | کاربران برخوردار از این مجوز، میتوانند از طریق گزینهی «ویرایشگر» از سربرگ «نمایش» در پیشخوان وردپرس، فایلهای پوسته سایت را ویرایش کنند. |
install_themes | کاربر بهرهمند از این اختیار، میتواند پوستههای غیرفعال موجود بر روی سایت را، فعال نماید. |
resume_themes | کاربر برخوردار از این مجوز میتواند با کلیک بر روی کلید «سفارشیسازی» در زیر پوستهی فعال، تنظیمات کلی پوستهی سایت را تغییر دهید. |
switch_themes | کاربر بهرهمند از این اختیار، میتواند پوسته فعال سایت را تغییر دهد. یک پوسته را غیرفعال کند و پوسته دیگر را جایگزین سازد. |
update_themes | کاربران برخوردار از این مجوز، میتوانند پوستههای سایت را از طریق منبع وردپرس یا آپلود نسخه جدید، بروزرسانی نمایند. |
دستهبندی بعدی مربوط به نوشتههای (Posts) وردپرس است. تمامی اختیارات مربوط به مدیریت پستها در این قسمت قرار دارند. مجوزهای این گروه را میتوانید در ادامه مشاهده کنید.
delete_others_posts | این Capabiliti به کاربر این اختیار را میدهد که بتواند نوشتههای سایر کاربران را حذف کند. توجه داشته باشید که هر نویسنده تنها میتواند پستهای خودش را حذف نماید و این اختیار تنها برای سطح دسترسی «ویرایشگر» و مقامهای بالاتر، بهصورت پیشفرض در دسترس است. |
delete_posts | این مجوز به کاربر این اختیار را میدهد که بتواند تنها پستهای خودش را حذف کند. |
delete_private_posts | این مجوز به کاربر این اختیار را میدهد که بتواند تمامی پستهای خصوصی موجود در قسمت نوشتهها را حذف نماید. |
delete_published_posts | این مجوز به کاربر این اختیار را میدهد که بتواند یک پست را پس از انتشار حذف نماید. این گزینه بهصورت پیشفرض برای نقش کاربری «نویسنده» فعال است که پیشنهاد میکنیم در سایتهای وبلاگی توسعه یافته، غیرفعال شود. |
edit_others_posts | این Capabiliti به کاربر این اختیار را میدهد که بتواند نوشتههای سایر کاربران را ویرایش کند. توجه داشته باشید که هر نویسنده تنها میتواند پستهای خودش را ویرایش کند و این اختیار تنها برای سطح دسترسی «ویرایشگر» و مقامهای بالاتر، بهصورت پیشفرض در دسترس است. |
edit_posts | این مجوز به کاربر این اختیار را میدهد که بتواند تنها پستهای خودش را ویرایش کند. |
edit_private_posts | این مجوز به کاربر این اختیار را میدهد که بتواند تمامی پستهای خصوصی موجود در قسمت نوشتهها را ویرایش نماید. |
edit_published_posts | این مجوز به کاربر این اختیار را میدهد که بتواند یک پست را پس از انتشار ویرایش نماید. |
manage_categories | کاربران برخوردار از این مجوز میتوانند دستهبندیهای جدیدی برای نوشتهها ایجاد کنند یا اینکه دستهبندیهای قبلی را ویرایش یا حذف نمایند. |
moderate_comments | کاربرانی که از این اختیار بهره میبرند، میتوانند دیدگاههای مربوط به نوشتهها را مدیریت کنند. این مجوز شامل تمامی عملیاتها اعم از پذیرفتن، حذف کردن، ویرایش و… میشود. |
publish_posts | این مجوز به کاربر این امکان را میدهد که بتواند یک پست را منتشر نماید. اصلیترین تفاوت میان نقش کاربری «نویسنده» و «مشارکت کننده» نیز به همین مجوز ارتباط دارد. |
read_private_posts | این اختیار به کاربر این اجازه را میدهد که بتواند پستهای خصوصی را مشاهده نماید. |
مجوزهای بخش “Pages” دقیقا مشابه با مجوزهای بخش Posts است. از همین رو برای اطلاع از جزئیات این دسترسیها میتوانید به سربرگ “Posts” در همین نوشته مراجعه کنید.
تنها تفاوت میان این دو گروه این است که در بخش برگهها (Pages) خبری از مجوزهای مدیریت نظرات و دستهبندیها نیست؛ چرا که امکان ایجاد دستهبندی یا ثبت نظر برای برگهها، بهصورت پیشفرض در وردپرس غیرفعال است.
لازم است اشاره کنیم که نقش کابری «نویسنده» از هیچکدام از دسترسیهای موجود در بخش Pages بهره نمیبرد و در حقیقت کاربر نویسنده بهصورت پیشفرض هیچ دسترسی به برگههای سایت ندارد.
نهایتا به دستهبندی افزونهها میرسیم. همانطور که روشن است، گروه “Plugins” در افزونه User Role Editor، به مجوزهای مربوط به افزونهها و نحوه مدیریت آنها ارتباط دارد. جزئیات مربوط به هر مجوز را میتوانید در ادامه مشاهده کنید.
activate_plugins | این مجوز به کاربر این اختیار را میدهد که بتواند افزونههای غیرفعال را فعال نماید. |
delete_plugins | کاربران برخوردار از این اختیار، میتوانند افزونههای سایت را حذف نمایند. |
edit_plugins | این مجور امکان غیرفعال کردن افزونهها را به فرد میدهد. |
instal_plugins | افراد بهرهمند از این اختیار میتوانند افزونههای جدیدی را بر روی سایت نصب نمایند. |
resume_plugins | کاربر برخوردار از این مجوز میتواند با مراجعه به تنظیمات افزونه، از قسمت «افزونهها»، تنظیمات کلی یک افزونه را تغییر دهید. |
upadate_plugins | افراد بهرهمند از این مجوز میتوانند یک افزونه را از طریق منبع وردپرس یا آپلود نسخه جدید آن، بروزرسانی نمایند. |
اختیارات قرارگرفته در این دستهبندی، مربوط به فرآیندهای قابل اجرا در رابطه با کاربران سایت است. موارد مربوط به مجوز را میتوانید در ادامه مشاهده کنید.
توجه داشته باشید که کلیه مجوزهای مربوط به کاربران، تنها برای نقش کاربری «مدیر کل» بهصورت پیشفرض فعال هستند.
create_users | این مجوز به فرد این امکان را میدهد که بتواند کاربران جدیدی را با نقش کاربری مدنظر خود ایجاد نماید. |
delete_users | این مجور به کاربر این اختیار را میدهد که بتواند یک کاربر یا گروهی از کاربران را حذف نماید. |
edit_users | این اختیار به فرد این امکان را میدهد که بتواند جزئیات حساب کاربری افراد مختلف را ویرایش نماید. این موارد شامل نام، نام خانوادگی و حتی رمزعبور حساب کاربری میشود. |
list_users | این امتیاز به کاربر این امکان را میدهد که بتواند کاربران را بنابر سیاست خودش لیست نماید. در حقیقت با داشتن این مجوز، امکان انتخاب گروهی از کاربران برای فرد، فراهم خواهد بود. |
promote_users | این قابلیت به فرد این امکان را میدهد که بتواند نقش کاربری را افراد را تغییر دهد. توجه داشته باشید که این مجوز بسیار حساس است! فردی با داشتن این اختیار میتواند یک حساب کاربری جدید ایجاد نموده و نقش آن را به مدیر کل تغییر دهد. |
remove_users | این مجوز دقیقا عملکردی شبیه به مجوز “delete_users” دارد. دلیل وجود دو مجوز مختلف برای یک عملکرد، مربوط به وجود نسخههای مختلف وردپرس است که توسعه دهندگان را وادار به ارائه مجوزهای جدید مینماید. |
وردپرس در گذشته (نشخه ۱.۵) از سیستم دیگری برای مدیریت کاربران استفاده میکرد. در نسخههای قدیمی وردپرس، یعنی نسخههای قبل از ورژن ۲.۰، کاربران رتبهبندی میشدند. هر کاربر جایگاهی بین رتیه ۱ تا ۱۰ داشت و سطح دسترسیها به ترتیب از رتبه ۱ (کمترین دسترسی) تا رتبه ۱۰ (بیشترین دسترسی) مرتب میشد. امروزه زمان زیادی از آن تاریخ میگذرد و نیازی به بررسی مقدار دسترسیها در سیستم رتبهبندی نیست، ولی دانستن برخی مطالب میتواند برای شما جذاب باشد.
بهعنوان مثال، سیستم نقشهای کابری و اختیارات (Roles and Capabilities) که امروزه جایگزین سیستم رتبهبندی شده است، هر نقش کاربری را معادل یک رتبه قرار میدهد. برای درک بهتر این موضوع، میتوانید یک نقش کاربری را از صفحه افزونه User Role Editor انتخاب کنید و به بخش “Deprecated” بروید. با این کار میتوانید متوجه شوید که هر نقش کاربری در وردپرس امروزی، معادل چه رتبهای در وردپرس قدیمی است.
برای مثال ما نقش کاربری «ویرایشگر» را انتخاب میکنیم و به تب Deprecated میرویم. همانطور که در تصویر بالا مشاهده میکنید، این نقش کاربری در سیستم رتبه بندی، معادل رتبه ۷ میباشد.
پیشنهاد میکنیم که به هیچ وجه، مقادیر بخش Deprecated را تغییر ندهید. این تغییرات میتواند باعث بروز مشکلات اساسی در سایت وردپرسی شما شود.
در این بخش از افزونه User Role Editor، میتوانید مجوزهای مربوط به Custom Post Typeهای سایت خود را ببینید. همانطور که از نام این بخش مشخص است، مجوزهای مربوط به پست تایپهای سفارشی شما در این بخش قرار میگیرند، پس اگر پست تایپ سفارشی ندارید، چیزی در این بخش نخواهید دید. البته لازم است اشاره کنیم که پست تایپهای سفارشی شما باید با قوانین استاندارد وردپرس توسعه یافته باشند تا بتوانید مجوزهای مربوط به آنان را مشاهده کنید.
اینکه Custom Post Type چیست و چه کاربردی دارد، خارج از حوصلهی این مقاله است، اما بهزودی مقالهای در این رابطه منتشر خواهیم کرد که شما را با صفر تا صد پست تایپهای سفارشی و نحوه ایجاد آنها آشنا میکند. بنابراین فراموش نکنید که بهصورت دورهای به صفحه اصلی نت افراز بلاگ، برای اطلاع از جدیدترین مقالات سر بزنید.
بیشترین کاربرد این بخش از افزونه User Role Editor، برای توسعه دهندگان بوده و امکان بسیار جالبی را در اختیار آنان قرار میدهد. توسعه دهندگان افزونههای وردپرسی، میتوانند با مطالعه قوانین کدنویسی استاندارد وردپرس، مجوزهایی را برای افزونههای خود ایجاد کنند. بهترین مثال در این رابطه افزونه ووکامرس است. ووکامرس به حجم زیادی از مجوزهای اختصاصی (Custom capabilities) مجهز شده که امکان مدیریت بهتر دسترسی کاربران را به امکانات این افزونه فراهم میکند.
اگر شما یک توسعه دهندهی افزونههای وردپرسی هستید، میتوانید مجوزهای اختصاصی ایجادشده توسط خودتان را در این قسمت مشاهده نموده و با اعمال تنظیمات مناسب، دسترسی کاربران را به قابلیتهای مختلف افزونههای خود مدیریت کنید.
پلاگین User Role Editor بهصورت پیشفرض ۷ مجوز اختصاصی برای شما ایجاد میکند که هم در این گروه و هم در گروه بعدی (یعنی تب User Role Editor) قابل مشاهده هستند. همانطور که گفته شد، میتوانید از طریق تب Custom capabilities کلیه مجوزهای اختصاصی سایت خود را بررسی نموده و آنها را مدیریت کنید.
نهایتا به آخرین گروه از مجوزهای افزونه User Role Editor میرسیم؛ جایی که توسعهدهندهی افزونه، مجوزهای مربوط به افزونهی یوزر رول ادیتور را در آن قرار داده است. از آنجایی که از طریق افزونه User Role Editor میتوان اختیارات یک کاربر را به طور کلی از او گرفت یا اینکه نقش کاربری فرد را به بالاترین مقام (مدیر کل) ارتقا داد، لازم است که دسترسی اعضای تیم سایت خود را به امکانات این افزونه محدود کنید.
باید اشاره کنیم که این دسترسیها بهصورت یشفرض تنها در اختیار مدیر سایت قرار دارند و تنها اوست که میتواند داشتن یا نداشتن این مجوزها را تعیین کند.
این اختیارات ۷ مورد هستند که در ادامه به بررسی آنها پرداختهایم.
ure_create_capabilities | کابران برخوردار از این مجوز میتوانند Capabilitiهای جدیدی را بهوسیله افزونه User Role Editor ایجاد نمایند. |
ure_create_roles | کابران برخوردار از این مجوز میتوانند نقشهای کاربری جدیدی را بهوسیله افزونه User Role Editor ایجاد نمایند. |
ure_delete_capabilities | افراد بهرهند از این امتیاز، میتوانند مجوزهای موجود بر روی سایت را حذف نمایند. |
ure_delete_roles | افراد بهرهند از این مجوز، میتوانند نقشهای کاربری موجود بر روی سایت را حذف نمایند. |
ure_edit_roles | افراد بهرهند از این اختیار، میتوانند نقشهای کاربری موجود بر روی سایت را حذف نمایند. |
ure_manage_options | این مجوز مربوط به کنترل تنظیمات افزونه User Role Editor است. کاربران بهرهمند از این مجوز، میتوانند با مراجعه به سربرگ «تنظیمات» در پیشخوان وردپرس، گزینه “User Role Editor” را انتخاب نمایند و تنظیمات افزونه را مدیریت کنند. |
ure_reset_roles | افراد بهرهمند از این اختیار، میتوانند کلیه تنظیمات اعمال شده در افزونهی User Role Editor را تنها با یک کلیک به حالت اولیه باز گردانند یا بهعبارتی تنظیمات را Reset کنند. |
در جدول بالا به تفکیک گروههای ارائه شده توسط افزونه User Role Editor، به بررسی اختیارات و مجوزهای پیشفرض وردپرس (Capabiliti) پرداختیم. اکنون که با مدیریت سطح دسترسی کاربران خود به پیشخوان وردپرس آشنا شدهاید و با تمامی جوانب پلاگین User Role Editor آشنا شدهاید، وقت آن رسیده که به سراغ بررسی سایر قابلیتهای کاربردی این افزونه برویم.
ایجاد نقش کاربری سفارشی با افزونه User Role Editor
شاید بتوان بزرگترین قابلیت افزونهی User Role Editor را پس از امکان ویرایش نقشهای کاربری پیشفرض وردپرس، امکان ایجاد نقشهای کاربری سفارشی دانست. به کمک این قابلیت میتوانید برای گروه خاصی از کاربران خود، یک نقش کاربری اختصاصی (Custom Role) ایجاد نمایید. بیایید با بررسی یک مثال فرضی، تصویر بهتری از این قابلیت داشته باشیم.
در این مثال خود را جای مدیریت بلاگ نت افراز تصور کنید. شما تیمی از نویسندگان مختلف دارید که هر کدام نیازهایی مشابه با یکدیگر دارند. باید بتوانند پستهای خود را ایجاد کنند، آنها را ویرایش کنند و در زمانهای مختلف پستهای وبلاگ را بروزرسانی نمایند. این نیازها بین تمامی نویسندگان بلاگ نت افراز مشترک است، اما نقش کاربری «نویسنده» پیشفرض وردپرس تمامی این امکانات را در اختیار این گروه از کاربران قرار نمیدهد. در این شرایط باید چکار کرد؟
مسلما افزونه User Role Editor پس از سالها توسعه بهفکر این مسئله بوده است. در این زمان میتوانید نقش کاربری اختصاصی خود را ایجاد کنید و Primary Role تمامی نویسندگان بلاگ را به نقش سفارشی ساختهشده توسط خودتان تغییر دهید.
برای این کار لازم است که از پیشخوان وردپرس و از تب «کاربران» گزینهی “User Role Editor” را انتخاب کنید. پس از این کار صفحه اصلی افزونهی User Role Editor برای شما باز خواهد شد. اکنون باید در این صفحه و از منوی سمت چپ، بر روی کلید “Add Role” کلیک کنید.
با این کار، مطابق با تصویر بالا یک پنجرهی کوچک در مرکز صفحه ظاهر میشود که از سه بخش مختلف تشکیل شده است. این سه بخش که باید مطابق با سیاست کاری شما تکمیل شوند، بهترتیب عبارتند از:
Role Name (ID): در این بخش باید یک شناسه برای نقش کاربری اختصاصی خود تعریف کنید. توجه داشته باشید که در این بخش تنها میتوانید از حروف انگلیسی، اعداد و کاراکتر زیرخط (_) استفاده کنید. هرچند که احتمال وقوع این اتفاق بسیار کم است، اما سعی کنید که شناسه خاصی انتخاب کنید تا منجر به بروز اختلال با نقشهای کاربری اضافه شده توسط سایر افزونهها نشود.
Display Role Name: در این بخش میتوانید یک نام برای نمایش نقش کاربری در نظر بگیرید. همانطور که در تصویر بالا هم مشاهده میکنید، استفاده از کاراکترهای فارسی در این فیلد مجاز است و میتوانید نام دلخواه خود را در نظر بگیرید.
Make Copy of: این یکی از جالبترین قابلیتهای افزونه User Role Editor میباشد. با انتخاب گزینههای مختلف از این منوی آبشاری، میتوانید مجوزهای یک نقش کاربری را در نقش کاربری سفارشیِ خودتان کپی کنید. از آنجایی که ما در مثال خود به دنبال اعمال تغییرات محدود در مجوزهای کاربران نویسنده هستیم، از این منوی آبشاری، گزینهی نویسنده را انتخاب میکنیم. با این کار تمامی اختیارات پیشفرض نقش کاربری نویسنده، برای نقش کاربری اختصاصی ما هم اعمال خواهند شد. این کار موجب میشود که مدیریت مجوزها راحتتر باشد.
نهایتا تنها کافیست که بر روی کلید “Add Role” کلیک کنید. به همین سادگی نقش کاربری اختصاصی شما ایجاد شده است!
اکنون میتوانید با استفاده از آموزش «تغییر دسترسیهایی یک نقش کاربری با افزونه User Role Editor» که در همین نوشته به بررسی آن پرداختیم، دسترسیهای نقش کاربری سفارشی خودتان را ویرایش کنید. با این کار نیاز نیست که مجوزهای مختلف را تکبهتک به نوسندگان سایت خود بدهید و تنها کافیست که لیست نویسندگان سایت را انتخاب کرده و نقش آنها را به نقش سفارشی خودتان تغییر دهید.
بازگردانی تمام تنظیمات به حالت اولیه
فرقی نمیکند که چقدر در کار با سیستم مدیریت محتوای وردپرس حرفهای هستید، همیشه ممکن است اتفاقاتی رخ دهد که شما را وادار کند همه چیز را از ابتدا آغاز کنید! توسعه دهندهی خوش فکرِ افزونهی User Role Editor به این موضوع هم توجه کافی داشته است و برای حل این مشکل راهحلی را در نظر گرفته است.
لازم است قبل از هر چیزی به شما بگوییم که با Reset کردن تنظیمات افزونهی User Role Editor، تمامی رکوردهای موجود در جداول دیتابیس این افزونه پاک میشوند. این به این معناست که تمامی تنظیمات اعمالشده توسط شما پاک خواهند شد. این موارد شامل تمامی نقشهای کاربری سفارشی، مجوزهای سفارشی، تغییرات اعمال شده در نقشهای کاربری پیشفرض وردپرس و… میشود.
برای Reset کردن افزونهی User Role Editor، باید از پیشخوان وردپرس و از تب «تنظیمات»، گزینهی User Role Editor را انتخاب نمایید. با این کار پنجرهی تنظیمات افزونه برای شما بازخواهد شد.
در صفحه جدید، از میان گزینههای موجود در بالای صفحه، سربرگ “Tools” را انتخاب نمایید. با این کار جزئیات مربوط به Reset کردن کلیه تنظیمات افزونه User Role Editor در اختیار شما قرار میگیرد.
در این صفحه متنی مشابه با تصویر بالا قرار گرفته که احساس کردیم خواندن آن برای شما ضروری است. از همین رو میتوانید ترجمهی متن موجود در این کادر قرمز رنگ را در ادامه مشاهده کنید.
هشدار! بازنشانیِ تنظیمات، نقشهای کاربری و اختیارات پیشفرض کاربران را از هستهی وردپرس بازنشانی میکند.
اگر تغییراتی در مجوزها یا نقشهای کاربری هر افزونهای (مانند WooCommerce ،S2Member و بسیاری دیگر) اعمال کردهاید، همهی این تغییرات از بین خواهد رفت!
برای کسب اطلاعات بیشتر در مورد نحوه لغو تغییرات ناخواسته و بازیابی قابلیتهای افزونهها در صورتی که آنها را اشتباها از دست داده اید، به «این لینک» مراجعه کنید.
پس از این نوشته از شما خواسته میشود که عملیات Reset را تایید کنید. برای این منظور، باید متنی که با رنگ قرمز نوشته شده است را در کادر مربوطه تایپ کنید (یا کپی نمایید). تنها در این شرایط است که دکمهی Reset برای شما فعال خواهد شد و میتوانید کلیه تنظیمات افزونه را به حالت اولیه بازگردانید. در زمان نگارش این مقاله، متنی که باید در کادر مربوطه وارد شود، به شرح زیر است.
Permanently delete all custom user roles and capabilities
نهایتا پس از تایپ کردن نوشته در کادر مربوطه و کلیک بر روی کلید “Reset” تمامی تنظیمات افزونه به حالت اولیه بازمیگردند.
سخن پایانی
در این مقاله از نت افراز بلاگ، به بررسی افزونه User Role Editor و تمامی امکانات اصلی آن پرداختیم. بدون شک میتوان پلاگین User Role Editor را یکی از سه افزونهی برتر وردپرس برای مدیریت دسترسی کاربران به پیشخوان وردپرس، نقشهای کاربری و اختیارات وردپرس دانست.
از آنجایی که این نوشته از بلاگ نت افراز، با برچسب «بررسی جامع» منتشر شده است، با هر آپدیت بزرگِ افزونه، تغییرات آن مورد بررسی قرار خواهد گرفت و موارد لازم به این مقاله اضافه خواهد شد.
نهایتا امیدواریم که از این نوشته بهره کافی را برده باشید. هدف ما در تیم نت افراز، پاسخگویی به سوالات و برطرف کردن مشکلات اولیه شماست. پس چنانچه سوالی در رابطه با این نوشته دارید، از طریق بخش ارسال نظرات در پایین این برگه با ما در ارتباط باشید.
موفقیت همراه راهتان باد.
https://www.netafraz.com/blog/user-role-editor-wp/