За промовчанням WordPress дозволяє всім авторам і редакторам переглядати всі завантажені файли в медіа-бібліотеці WordPress. У деяких випадках це може стати проблемою, якщо на вашому сайті є багато гостьових авторів, і ви не хочете, щоб вони могли бачити абсолютно всі файли на сайті.
У цьому уроці ми покажемо, як можна приховати свої завантажені медіафайли від інших авторів та учасників WordPress.
Дивіться також:
- 8 безкоштовних плагінів для розширених можливостей Медіа Бібліотеки WordPress
- WP Media Folder — допоможе організувати та впорядкувати вашу медіа бібліотеку на WordPress
- Розширте можливості Медіа бібліотеки 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, щоб перевірити, чи має користувач з цією роллю можливість активувати плагіни та редагувати чужі пости. Якщо роль користувача немає таких можливостей, то код обмежує показ файлів у бібліотеці лише завантаженнями саме цього пользователя.
Коментарі до запису: 2
Вітаю!
Як зробити так, щоб автор antonov (роль автор) наприклад міг бачити тільки свою сторінку /author/antonov/ і йому, а також будь-якому незалогіненому користувачеві видавалося 404 при спробі переглянути сторінки інших авторів?
Також, щоб при цьому в ролі адміністратора переглядалися всі сторінки авторів на сайті.
Дуже вдячний якщо напишете мені відповідь).
Ті я на основі цього роблю такий спрощений кабінет для користувача. У кабінеті кожен матиме певну особисту інформацію відповідно, щоб інші не могли подивитися сторінки інших авторів.
А незалогінений користувач не може подивитися сторінку авторів завдяки цьому коду:
<?php if ( is_user_logged_in() ) {
Проблема в тому, що залогінений може подивитися інші сторінки авторів.
Ну і адміністратор має переглядати сторінки всіх авторів
У мене є свій ресурс Медіа Журнал Vavilon Center. Я не досвідчений веб-програміст і вперше читаю статтю про те, що потрібно закривати свої медіафайли.