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

Система 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' );
Курс WordPress-разработчик
Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров
Привет! Меня зовут Михаил Петров. Я копирайтер и занимаюсь этим с 2013 года. Скрупулезность и ответственность - моя фишка! Не могу делать как попало и добиваюсь, чтоб заказчик сказал минимум “неплохо”. За все время своей работы пришлось написать и отредактировать немало разной “текстовухи”, включая SEO-тексты, отзывы и прочую чушь. На сегодняшний день специализируюсь на написании информационных статей и руководств технического направления. Вижу смысл и светлое будущее в текстах для людей, а не для машин.