Как запретить загрузку файлов для всех кроме админа?

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

Вот несколько шагов для запрета загрузки файлов для всех, кроме администратора в WordPress:

1. Установите и активируйте плагин "Disable File Upload" или "User Role Editor" из официального репозитория плагинов WordPress.

- Если вы выбрали плагин "Disable File Upload", перейдите на страницу настроек плагина и выберите роль пользователя, которой нужно запретить загрузку файлов. Обычно для администратора это роль "administrator". После сохранения настроек изменения вступят в силу и пользователи с выбранной ролью больше не смогут загружать файлы.

2. Если вы предпочитаете изменять код в файле functions.php вашей активной темы, выполните следующие шаги:

- Откройте файл functions.php активной темы. Вы можете найти этот файл, перейдя в административную панель WordPress и выбрав в левом меню раздел "Внешний вид" -> "Редактор". Затем выберите активную тему и найдите файл functions.php в списке файлов.

- Вставьте следующий код в конец файла functions.php:

function restrict_file_uploads( $file ) {
  $current_user = wp_get_current_user();
  $user_roles   = $current_user->roles;
  
  // Замените 'administrator' на имя роли пользователя, которому нужно разрешить загрузку файлов
  if ( ! in_array( 'administrator', $user_roles ) ) {
    $file['error'] = "Приносим извинения, но загрузка файлов запрещена.";
  }
  
  return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'restrict_file_uploads' );

- Сохраните изменения файла functions.php. Теперь пользователи без прав администратора не смогут загружать файлы на вашем сайте WordPress.

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

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