По-умолчанию, WordPress разрешает всем авторам и редакторам просматривать все загруженные файлы в медиа-библиотеке WordPress. В некоторых случаях это может стать проблемой, если на вашем сайте много гостевых авторов, и вы не хотите, чтобы они могли видеть абсолютно все файлы на сайте.

В этом уроке мы покажем, как можно скрыть свои загруженные медиафайлы от других авторов и участников в WordPress.

Смотрите также:

Зачем скрывать файлы от других пользователей WordPress?

WordPress позволяет всем пользователям админки с правами "Автор" просматривать все загруженные файлы в библиотеке. Авторы также могут видеть все изображения, загруженные администраторами и другими авторами и редакторами.

Например, вы администратор и подготавливаете публикацию о запуске нового продукта на сайте.

Любой гостевой автор вашего сайта может зайти в раздел Медиафайлы и увидеть все, что вы загрузили для этой публикации, тем самым узнав возможно конфиденциальную информацию раньше времени.

Также, все эти загрузки будут перед глазами, если автор просто будет загружать свой контент — в окне загрузчика файлов будут видны все предыдущие загрузки.

Для обычного блога это не будет проблемой. Но если у вас несколько авторов на проекте, может возникнуть потребность скрыть информацию от посторонних (даже своих авторов).

Сейчас мы покажем как это легко сделать на WordPress.

Способ 1. Плагин Restrict Media Library Access

Самый простой и безопасный способ — установить бесплатный плагин Restrict Media Library Access из каталога WordPress:

Плагин работает сразу же из коробки, у него нет никаких настроек. Просто установите и активируйте его.

После активации каждый раз при заходе в Медиафайлы плагин будет проверять уровень доступа каждого пользователя. Если роль пользователя ниже чем Администратор или Редактор, пользователь будет видеть только свои собственные загрузки в библиотеке.

Если же пользователь Администратор или Редактор — он будет видеть все загрузки как обычно.

Способ 2. Закрываем доступ к Медиафайлам вручную

В первом способе мы разрешили смотреть все файлы только для Администраторов и Редакторов, а всем остальным ограничили доступ.

Но если вы хотите ограничить доступ к файлам сайта только одной конкретной роли пользователей — можно использовать второй ручной способ.

Для этого нужно добавить этот код в файл functions.php своей активной темы на WordPress:

// Limit media library access
  
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, чтобы проверить, имеет ли пользователь с данной ролью возможность активировать плагины и редактировать чужие посты. Если у роли пользователя нет таких возможностей, то код ограничивает показ файлов в библиотеке только загрузками конкретно этого пользователя.

Источник: wpbeginner.com

Вам понравился материал?

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.