سلام دوستان؛
یکی از دلایل تمایز سایتهای وردپرس از دیگر سایتها، وجود افزونههای بیشمار آن است که در واقع میتواند هر کمبود آن را نیز اصلاح کند. به طور پیشفرض، وردپرس به تمام نویسندگان سایت اجازه میدهد تا همه تصاویر و فایلهای آپلودی بخش رسانه سایت را ببینند که این میتواند در بحث امنیت مشکلساز باشد، به عنوان مثال شما صاحب یک وبسایت با چند نویسنده هستید و میخواهید از یک محصول جدید خود رونمایی کنید، عکسی که شما از محصول آپلود میکنید قابل مشاهده برای تمامی نویسندگان سایت است. حال شما به عنوان مدیر سایت نمیخواهید تا این اطلاعات برای هر کسی قابل مشاهده باشد، ما در این مقاله به شما این آموزش را می دهیم که چگونه دسترسی کاربران به رسانه در وردپرس را برای افرادی خاص تعیین کنید، با ما همراه باشید.
دسترسی کاربران به رسانه در وردپرس
روش اول: محدودسازی دسترسی به بخش رسانه با استفاده از افزونه
توجه: قبل از ورود به مبحث اصلی باید بگوییم این روش آسان است و برای تمام کاربران توصیه میشود.
نصب و راهاندازی افزونه Restrict Media Library Access
ابتدا افزونه Restrict Media Library Access را نصب و فعال میکنیم. با فعال کردن این افزونه، تنظیمات به طور خودکار در توابع وردپرس برای محدودیت در دسترسی کاربران به رسانه در وردپرس اعمال میشوند و هیچ گزینه تنظیماتی به صفحه کاربری شما افزوده نمیشود. نحوه کار افزونه بدین شکل است که افزونه ابتدا نقش کاربر را با نقشهای مدیر و ادیتور مقایسه میکند، اگر نقش کاربر با هیچ یک از این دو نقش تطابق نداشته باشد، افزونه فقط گالری و فایلهای مربوط به همان کاربر را نشان خواهد داد. قابل ذکر است که نقش مدیر و ویرایشگر، اجازه دیدن تمامی فایلها و عکسها را دارند.
روش دوم : محدودسازی دسترسی به بخش رسانه به صورت دستی
روش اول با محدودسازی دسترسی کاربران به رسانه در وردپرس براساس نقش کاربران برای اکثر وبسایتها کار میکند و تنها به مدیر و ویرایشگر اجازه دسترسی به تمام فایلها را میدهد، با این حال اگر نیاز دارید تا دسترسی را سفارشیسازی کنید و به نقش خاصی اجازه دسترسی کاربران به تمام فایلها را بدهید و یا نمیخواهید از افزونهها استفاده کنید، روش دوم برای شما کارآمد است.
این روش از همان کدهای افزونه استفاده میکند با این تفاوت که در این روش برای برآوردن نیازهای شما امکان تغییر و اصلاح کد وجود دارد.
کد زیر را به فایل function.php سایت خود و یا به بخش site-specific plugin اضافه کنید.
// Limit media library access <span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start"></span>add_filter('ajax_query_attachments_args','wpb_show_current_user_attachments'); function wpb_show_current_user_attachments($query){ $user_id = get_current_user_id(); if ($user_id &&!current_user_can('activate_plugins')&&!current_user_can('edit_others_posts')){ $query['author'] = $user_id; } return $query;}
کار تمام است و حال میتوانید به کمک یکی از دو روش بالا دسترسی کاربران به رسانه در وردپرس را محدود کنید تا نویسندگان و سایر کاربران عضو سایت نتوانند تصاویر و فایلها را مشاهده کنند یا آپلودی انجام دهند.
امیدوارم این مقاله به شما کمک کرده باشد تا دسترسی کاربران به بخش رسانه سایت را تغییر دهید. ابتدا این کد، از تابع current_user_can برای بررسی توانایی کاربر در فعال کردن افزونه و یا توانایی ویرایش پستهای دیگران استفاده میکند. اگر کاربر فاقد این توانایی باشد مقدار query درون قطعه کد را به گونهای عوض میکند تا فقط بخش رسانه مربوط به خود را ببیند.