ایجاد محدودیت دسترسی به فایل آپلود شده دیگران و دسترسی به رسانه‌های خود کاربر آپلود کننده در وردپرس

در ادامه پلاگین نویسی برای وردپرس و مشکلی که برای خودم در یکی از پروژه ها هنگام تعریف نقش کاربری (role) ایجاد شد و رفع شد ، یک آموزش تهیه کردم تا اگر دوستان به مشکل خوردند بتوانند خودشان مشکل را حل کنند ، گاهی نیاز می‌شود که در وردپرس به کاربران اجازه آپلود فایل می‌دهیم ، اما با اجازه ture شدن ‘upload_files’ ممکن است تمام فایل‌های آپلود شده در رسانه وردپرس به کاربران نمایش داده شود و و نمایش فایل کاربران دیگر سایت به یک کاربر دیگر موجب بروز مشکلات گردد ، در اینجا می‌توانید با کمک کد زیر این مشکل را رفع کنید و هر کاربر تنها به فایل‌هایی که توسط خودش آپلود شده است ، دسترسی خواهد داشت و از دسترسی به فایل دیگران جلوگیری می‌شود .

function idpr_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;
} 

add_filter( 'ajax_query_attachments_args', 'idpr_show_current_user_attachments' );

در واقع در این کد هر کاربری که اجازه ویرایش پست‌های دیگران را نداشته باشد (‘edit_others_posts’)و نیز نتواند پلاگین فعال کند (‘activate_plugins’) به فایل‌های آپلود شده دیگران نیز دسترسی ندارد و فقط می‌تواند فایل‌هایی که خودش آپلود کرده است را مشاهده کنید .

محدودیت در آپلود و دسترسی به رسانه‌های وردپرس

همچنین اگر نیاز به کدنویسی پیشرفته تر برای محدودیت آپلود و دسترسی به فایل‌های آپلود شده در وردپرس بودید و یا حتی اگر نتوانستید مشکل را حل کنید با ما تماس بگیرید و اگر سوالی بود در بخش نظرات بپرسید ، خوشحال می شویم کمکتان کنیم.

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.