خانه / شرکت طراحی سایت / نقش­‌ها و مجوزهای کاربری در وردپرس ۴٫۹

نقش­‌ها و مجوزهای کاربری در وردپرس ۴٫۹

مجوزهای کاربری در وردپرس

سلام دوستان؛
همان‌طور که حتماً می‌دانید آپدیت ۴٫۹ وردپرس امکانات بسیار زیادی را به وردپرس اضافه کرد، که از جمله بحث های داغ این بروزرسانی، اضافه شدن امکانات جالبی به قسمت مجوزهای کاربری در وردپرس است.
در نسخه‌های قبل از ۴٫۹، وردپرس در بخش نقش کاربران و مجوزهای آن، زیاد دست کاربران را بازنگذاشته بود و تنها از چند نقش مدیران، مشترکین، ویراستاران و غیره استفاده می‌کرد که قابل سفارشی‌سازی نبودند.

مجوزهای کاربری در وردپرس

در نسخه ۴٫۹ و بروزرسانی‌های بعدی آن مانند نسخه ۴٫۹٫۲ ما کنترل بیشتری به آنچه کاربران می‌توانند انجام دهند داریم و در هر نقش علاوه بر مجوزهای اصلی نقش، می‌­توانیم وظیفه و مجوزهای بیشتری به کاربران بدهیم. در واقع شعار جدید وردپرس در این بروزرسانی “جزئیات بیشتر از طریق قابلیت‌­های جدید” است. به سراغ توضیحات مقاله می‌رویم.

کنترل افزونه

در نسخه‌های قبل از وردپرس ۴٫۹، مجوزهای کاربری در وردپرس به صورت صفر یا یک محدود شده بود، کاربران یا می‌توانستند به افزونه دسترسی داشته باشند و یا اجازه­‌ی دسترسی به آن‌ها داده نمیشد. آنهایی که امکان دسترسی را داشتند توانایی اضافه کردن، حذف، فعال کردن، غیرفعال کردن، انجام تنظیمات و … را داشتند ولی آن دسته از کاربرانی که اجازۀ دسترسی نداشتند، حتی امکان دیدن منوی افزونه نیز به آنها داده نمی‌شد.

حال با رفتن درون فایل 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

user role editor - مجوزهای کاربری در وردپرس

حتماً تا اینجا به این مشکل بزرگ آپدیت وردپرس پی برده‌اید، که مجوزها و قابلیت­‌ها از طریق داشبورد مدیریت وردپرس به راحتی قابل دسترسی نیستند. شما نمی‌توانید تنها با کلیک کردن بر روی کاربران و نقش کاربران به این تغییرات جدید دسترسی داشته باشید و برای اعمال تغییرات نیاز به تغییر فایل‌های سیستمی PHP دارید.

از آنجایی که خیلی از کاربران بر PHP تسلط ندارند و تغییر فایل­‌های سیستمی بدون آگاهی توصیه نمی‌شود، پیشنهاد ما استفاده از افزونه User Role Editor است. این افزونه با آپدیت ۴٫۹ وردپرس کاملاً سازگار است و امکان تنظیم بخش مجوزهای کاربری در وردپرس را دارد.

امیدوارم این مقاله به شناخت نقش­ ها و مجوزهای کاربران در وردپرس به شما کمک کرده باشد.

نوشته نقش­‌ها و مجوزهای کاربری در وردپرس ۴٫۹ اولین بار در همیاروردپرس پدیدار شد.


منبع: همیار وردپرس

Check Also

رفع خطای “Syntax Error” در وردپرس

اشکالات رایج در هر نرم‌افزار، سیستم و سایتی موجود است که با گذر زمان راه ...