Как ограничить доступ к медиатеке для собственных загрузок пользователя в WordPress

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

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

Зачем ограничивать доступ к медиатеке для собственных загрузок пользователя?

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

Допустим, вы создаете новый пост, чтобы объявить о предстоящем продукте или сделке. Авторы и приглашенные авторы на вашем сайте смогут видеть изображения, которые вы загрузили в медиатеку для этой статьи.

Ваши загруженные файлы также будут видны во всплывающем окне «Добавить медиа», которое пользователи видят при добавлении изображений в свои статьи.

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

Давайте рассмотрим, как легко ограничить доступ к медиатеке только для собственных загрузок пользователей.

Метод 1: Ограничение доступа к медиатеке с помощью плагина

Этот метод проще и рекомендуется для всех пользователей.

Первое, что вам нужно сделать, это установить и активировать плагин Restrict Media Library Access. Для более подробной информации смотрите наше пошаговое руководство о том, как установить плагин WordPress.

Этот плагин работает «из коробки», и вам не нужно настраивать никаких параметров.

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

Пользователи с ролью администратора или редактора смогут видеть все медиазагрузки, как обычно.

Метод 2: Ограничить доступ к медиатеке вручную

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

Однако если вы хотите добавить пользовательскую роль или просто не хотите использовать плагин, то вместо этого вы можете попробовать следующий способ. Он использует тот же код, что и плагин, но вы сможете изменить его в соответствии со своими потребностями.

Этот метод требует добавления кода в файлы WordPress. Если вы не делали этого раньше, то ознакомьтесь с нашим руководством по копированию и вставке кода в WordPress.

Вам нужно будет добавить следующий код в функции WordPress.php-файл или плагин для конкретного сайта.

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

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

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

Оцените статью
Добавить комментарий