Система WordPress, по умолчанию, не позволяет отделять доступ к загруженным файлам медиабиблиотеки одного пользователя от других. Так, если были загружены фотографии для статей двумя авторами, то оба они будут иметь к ним одинаковые права, в том числе просмотр, редактирование и удаление. Конечно, тут проблем нет, если на сайте один автор. Но что делать, если публикаторов много и они являются непостоянными? Конечно, некоторый контент, как и настройки сайта, не может быть публичными открытыми данными.
Как разграничить доступ к медиафайлам?
Способ 1. Плагин Restrict Media Library Access
Бесплатный плагин Restrict Media Library Access начинает выполнять свои функции уже при активации, не требуя вообще никаких настроек. В итоге, после того, как пользователь будет обращаться к Медиабиблиотеке, плагин будет проверять его уровень доступа. Если эта роль ниже Администратора и Редактора (Подписчик, Участник, Автор и др.), то пользователь увидит только свои загруженные файлы, не имея доступа к другим.
Способ 2. Ручное добавление кода
Если Вы по каким-либо причинам не хотите устанавливать дополнительный плагин на свой сайт, то это решение наиболее подходящее для Вас. Однако для него необходимо быть знакомым с файлом functions.php.
Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.
Для решения задачи необходимо в этот файл добавить следующий код:
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; } add_filter( 'ajax_query_attachments_args', 'wpb_show_current_user_attachments' );
Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.