Как установить ограничения на размер загружаемых файлов в WordPress

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

Почему важно ограничивать размер загружаемых файлов

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

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

Как проверить текущие лимиты загрузки в WordPress

Чтобы узнать текущие максимальные лимиты загрузки, можно зайти в админку WordPress в раздел Медиафайлы → Добавить новый. Там под формой загрузки будет указано, какой максимальный размер файла разрешен.

Программно получить информацию можно, используя PHP-функцию wp_max_upload_size(). Пример кода для вывода лимита в админке:

function wptest_show_max_upload_size() {
    $max_upload = wp_max_upload_size();
    echo 'Максимальный размер загружаемого файла: ' . size_format($max_upload);
}
add_action('admin_notices', 'wptest_show_max_upload_size');

Этот код добавит уведомление в админке с максимальным размером загружаемого файла.

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

Самый простой способ — изменить настройки PHP на сервере. Для этого можно использовать несколько подходов:

1. Редактирование php.ini

В файле php.ini нужно изменить или добавить следующие директивы:

upload_max_filesize = 16M
post_max_size = 16M
memory_limit = 128M
max_execution_time = 300
max_input_time = 300

Значения нужно установить в зависимости от нужд сайта. После изменения файла перезапустите веб-сервер.

2. Изменение .htaccess (для Apache)

Если нет доступа к php.ini, можно добавить в файл .htaccess в корне сайта следующие строки:

php_value upload_max_filesize 16M
php_value post_max_size 16M
php_value memory_limit 128M

Однако этот способ работает не на всех хостингах и может вызвать ошибку 500, если PHP работает в режиме CGI.

3. Использование функции в файле functions.php темы

Можно попытаться изменить лимит программно с помощью фильтра upload_size_limit:

function wptest_custom_upload_limit($size) {
    return 16 * 1024 * 1024; // 16 МБ в байтах
}
add_filter('upload_size_limit', 'wptest_custom_upload_limit');

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

4. Использование плагина Clearfy Pro для управления лимитами

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

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

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

function wptest_check_upload_size($file) {
    $max_size = 16 * 1024 * 1024; // 16 МБ
    if ($file['size'] > $max_size) {
        $file['error'] = 'Превышен максимальный размер файла (16 МБ). Пожалуйста, выберите меньший файл.';
    }
    return $file;
}
add_filter('wp_handle_upload_prefilter', 'wptest_check_upload_size');

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

Резюме: какие значения использовать и как выбрать оптимальный лимит

При выборе лимита учитывайте тип контента, который загружают пользователи. Для блога обычно 2-8 МБ достаточно, для сайта с большим количеством медиа (фото, видео) могут потребоваться 16-64 МБ.

Убедитесь, что значение post_max_size всегда больше или равно upload_max_filesize. Параметр memory_limit тоже должен быть достаточно большим, чтобы обработать загрузку.

Если вы пользуетесь плагинами, например, Clearfy Pro, управление настройками упрощается и становится более безопасным.

Заключение

Установка ограничений на загружаемые файлы — важный элемент настройки WordPress сайта. Выбор правильного способа зависит от доступа к серверу и специфики сайта. Используйте описанные методы и примеры кода, чтобы контролировать загрузки и избежать проблем с производительностью и безопасностью.

Оптимизация кэширования и удаление старых кэшей в WordPress
02.01.2026
Как избежать конфликтов между плагинами WordPress: практические советы и примеры
22.12.2025
Как создать собственный виджет WordPress
11.11.2025
Автоматический импорт постов в WordPress: плагины и кастомные решения
05.01.2026
Как автоматизировать удаление старого контента в WordPress
07.02.2026