سلام دوستان؛
همانطور که حتماً میدانید آپدیت ۴٫۹ وردپرس امکانات بسیار زیادی را به وردپرس اضافه کرد، که از جمله بحث های داغ این بروزرسانی، اضافه شدن امکانات جالبی به قسمت مجوزهای کاربری در وردپرس است.
در نسخههای قبل از ۴٫۹، وردپرس در بخش نقش کاربران و مجوزهای آن، زیاد دست کاربران را بازنگذاشته بود و تنها از چند نقش مدیران، مشترکین، ویراستاران و غیره استفاده میکرد که قابل سفارشیسازی نبودند.
مجوزهای کاربری در وردپرس
در نسخه ۴٫۹ و بروزرسانیهای بعدی آن مانند نسخه ۴٫۹٫۲ ما کنترل بیشتری به آنچه کاربران میتوانند انجام دهند داریم و در هر نقش علاوه بر مجوزهای اصلی نقش، میتوانیم وظیفه و مجوزهای بیشتری به کاربران بدهیم. در واقع شعار جدید وردپرس در این بروزرسانی “جزئیات بیشتر از طریق قابلیتهای جدید” است. به سراغ توضیحات مقاله میرویم.
کنترل افزونه
در نسخههای قبل از وردپرس ۴٫۹، مجوزهای کاربری در وردپرس به صورت صفر یا یک محدود شده بود، کاربران یا میتوانستند به افزونه دسترسی داشته باشند و یا اجازهی دسترسی به آنها داده نمیشد. آنهایی که امکان دسترسی را داشتند توانایی اضافه کردن، حذف، فعال کردن، غیرفعال کردن، انجام تنظیمات و … را داشتند ولی آن دسته از کاربرانی که اجازۀ دسترسی نداشتند، حتی امکان دیدن منوی افزونه نیز به آنها داده نمیشد.
حال با رفتن درون فایل wp-includes/capabilities.php و ویرایش تابع current_user_can میتوانید مجوزهای جدیدی به کاربر بدهید، به مثال زیر توجه کنید:
<?php current_user_can( $capability , $object_id ); ?>
حال، ممکن است قطعه کدهای بالا برای کاربرانی که دانش php ندارند کمی پیچیده به نظر برسد پس کمی وارد جزئیات کدها میشویم.
- activate_plugin در پارامتر اول پرانتز قرار میگیرد و امکان فعال کردن تنها یک افزونه خاص را به کاربر میدهد.
- deactivate_plugin کاملاً متضاد گفته بالا، امکان غیرفعال کردن تنها یک افزونه خاص را به کاربر میدهد.
- deactivate_plugins دسترسی عمومی به غیر فعال کردن هر افزونه در سایت.
تغییر زبان سایت برای کاربر
بسیاری از سایتها فعالیت بینالمللی دارند و این بدان منظور است که کاربران بینالمللی نیز در سایت فعالیت میکنند.
به لطف بروزرسانی جدید وردپرس هر کاربر در صفحه کاربری خود امکان انتخاب زبان مورد نظر خود را خواهد داشت.
اساسا نسخه ۴٫۹ به شما کنترل بیشتری در این مورد میدهد که آیا کاربر به تابع ()wp_can_install_language_pack متصل باشد یا نباشد. اگر کاربر دسترسی به نصب افزونه، نصب پوسته و بروزرسانی هسته وردپرس را داشته باشد، قابلیت اضافه کردن و بروزرسانی زبان نیز به صورت خودکار برای وی وجود خواهد داشت.
در نسخه ۴٫۹ برای مجوزهای کاربری در وردپرس از لحاظ کارکردی، هیچ تغییری در سایت صورت نمیگیرد، اما کنترل بیشتری به افرادی که نیازمند تغییر زبان هستند، میدهد.
امن کردن دریچهها
در یک بروزرسانی بعدی از نسخه ۴٫۹، وردپرس مانع از نمایش کاربران به صورت do_not_allow میشود، که به طور مستقیم با سایر مجوزهایی که آپدیتها ارائه میکنند تعامل دارد. با جلوگیری از این قابلیت، سازندگان وردپرس کمی از ما در برابر خودمان محافظت میکنند.
بهبود سایتهای وردپرس شبکه
هنگام بحث دربارهی مجوزهای کاربری در وردپرس شبکه اوضاع کمی پیچیده میشود، در اینجا موارد قابل بررسی خیلی بیشتر از این است که تنها مشخص کنید چه کسی پستها را ویرایش کند یا افزونه را فعال یا غیرفعال کند.
در نسخههای قبل، قابلیتهای کاربر در توابع switch_to_blog() یا restore_current_blog() تعریف میشد، که لزوما توابع کاربر پسندی نبودند. در ورژن ۴٫۹ با ترکیب این دو تابع و ایجاد تابع جدیدی به نام wp_switch_roles_and_user() بار سرور به صورت چشمگیری کاهش یافته است.
به طور مشابه، یادداشتها نشان میدهند که تعاملات بین توابع WP_User و WP_Roles معنای بیشتری دارند. به جای توابع WP_User::for_blog() و WP_User::_init_caps() (که نقش هر کاربر را در هر وبلاگ مشخص میکند) از تابع جدید WP_User::for_site() استفاده میکنیم. هنگامی که تابع WP_User::for_site()را راهاندازی میکنید، برای جستجوی مجوزهای کاربری در وردپرس و قابلیت تمام کاربران در تک تک سایتها میتوانید از فراخوانی تابع get_site_id()استفاده کنید. و مهمتر از همه رفع بسیاری از باگهای وردپرس شبکه بود.
استفاده از افزونه User Role Editor
حتماً تا اینجا به این مشکل بزرگ آپدیت وردپرس پی بردهاید، که مجوزها و قابلیتها از طریق داشبورد مدیریت وردپرس به راحتی قابل دسترسی نیستند. شما نمیتوانید تنها با کلیک کردن بر روی کاربران و نقش کاربران به این تغییرات جدید دسترسی داشته باشید و برای اعمال تغییرات نیاز به تغییر فایلهای سیستمی PHP دارید.
از آنجایی که خیلی از کاربران بر PHP تسلط ندارند و تغییر فایلهای سیستمی بدون آگاهی توصیه نمیشود، پیشنهاد ما استفاده از افزونه User Role Editor است. این افزونه با آپدیت ۴٫۹ وردپرس کاملاً سازگار است و امکان تنظیم بخش مجوزهای کاربری در وردپرس را دارد.
امیدوارم این مقاله به شناخت نقش ها و مجوزهای کاربران در وردپرس به شما کمک کرده باشد.
نوشته نقشها و مجوزهای کاربری در وردپرس ۴٫۹ اولین بار در همیاروردپرس پدیدار شد.
Source: اخبار و مقالات ۱
همیار وردپرس...
ما را در سایت همیار وردپرس دنبال می کنید
برچسب : نویسنده : جمشید رضایی بازدید : 191 تاريخ : يکشنبه 1 بهمن 1396 ساعت: 17:14