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

Загальні селектори
Тільки точні збіги
Шукати у заголовках
Шукати у контенті
Вибір типів постів
Фільтрувати за категоріями
FAQ
Hostenko
Натхнення
Відео уроки
Новини
Плагіни
теми
Уроки
Хакі

За промовчанням WordPress дозволяє всім авторам і редакторам переглядати всі завантажені файли в медіа-бібліотеці WordPress. У деяких випадках це може стати проблемою, якщо на вашому сайті є багато гостьових авторів, і ви не хочете, щоб вони могли бачити абсолютно всі файли на сайті.

У цьому уроці ми покажемо, як можна приховати свої завантажені медіафайли від інших авторів та учасників WordPress.

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!

Як приховати свої медіафайли від інших Авторів та Учасників у 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
inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
Олексій Шевченко
редактор wpcafe
Вивчає сайтобудування з 2008 року. Практикуючий вебмайстер, який спеціалізується на створенні сайтів на WordPress. Задати питання Олексію можна на https://profiles.wordpress.org/wpthemeus/

Коментарі до запису: 2

Антонов:

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

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

Ну і адміністратор має переглядати сторінки всіх авторів

Інеса:

У мене є свій ресурс Медіа Журнал Vavilon Center. Я не досвідчений веб-програміст і вперше читаю статтю про те, що потрібно закривати свої медіафайли.

Додати коментар або відгук