Больше результатов...

Generic selectors
Только точные совпадения
Искать в заголовках
Искать в контенте
Post Type Selectors
Filter by Categories
FAQ
Hostenko
Вдохновение
Видеоуроки
Новости
Плагины
Темы
Уроки
Хаки

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

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

Как скрыть свои медиафайлы от других Авторов и Участников в WordPress

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

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

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

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

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

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

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

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

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

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

Как скрыть свои медиафайлы от других Авторов и Участников в 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
редактор wpcafe
Изучает сайтостроение с 2008 года. Практикующий вебмастер, специализирующий на создание сайтов на WordPress. Задать вопрос Алексею можно на https://profiles.wordpress.org/wpthemeus/

Комментарии к записи: 2

Антонов:

Приветствую!
Как сделать так чтобы автор antonov (роль автор) к примеру мог видеть только свою страницу /author/antonov/ и ему, а также любому незалогиненому пользователю выдавалась 404 при попытке просмотреть страницы других авторов?
Также чтобы при этом в роли администратора просматривались все страницы авторов на сайте.
Преогромно благодарен если напишете ответ мне).
Те я на основе этого делаю этакий упрощенный кабинет для пользователя. В кабинете у каждого будет некоторая личная информация соответсвенно чтобы другие не могли посмотреть страницы других авторов.
А незалогиненый пользователь не может посмотреть страницу авторов благодаря этому коду:
<?php if ( is_user_logged_in() ) {

Проблема в том что залогиненый может посмотреть другие страницы авторов.

Ну и администратор должен просматривать страницы всех авторов

Инесса:

У меня есть свой ресурс Медиа Журнал Vavilon Center. Я не опытный вебпрограммист и впервые читаю статью о том, что нужно закрывать свои медиафайлы.

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