Здравствуйте, сегодня хотелось бы рассказать про простой хук, который поможет ограничить или увеличить размер загружаемых файлов в wordpress.
Скачать исходники для статьи можно ниже
Изначально размер загружаемых файлов ограничен размеров в 2 мегабайта, однако, иногда нужно либо увеличить, либо уменьшить данный параметр.
Для этого достаточно вставить в файл functions.php (панель управления – в левом меню выбираем пункт “Внешний вид” и его подпункт “Редактор” – справа в списке шаблонов выбираем файл functions.php) следующий код:
add_filter( 'upload_size_limit', 'PBP_increase_upload' ); function PBP_increase_upload( $bytes ) { return 1048576; // 1 megabyte }
, где 1048579 – это 1 мегабайт – если нужно увеличить или изменить размер загружаемых медиафайлов – измените данный параметр, например – 104857900 – это уже будет 100 мегабайт.
Также можно ограничить размер загружаемых файлов с помощью файла .htaccess – который находится в корневой папке вашего сайта, например на бесплатном хостинге от “hostinger.ru” данный файл выглядит следующим образом:
# Do not remove this line or mod_rewrite rules and search engine friendly URLs will stop working RewriteBase / # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
И для того чтобы ограничить размеры загружаемых файлов можно добавить в данный файл следующие строчки:
php_value upload_max_filesize 20M php_value post_max_size 20M php_value memory_limit 20M php_value max_execution_time 200 php_value max_input_time 200
Например, в форуме от Mingle Forum любой пользователь может загружать картинки любых размеров – что не есть гуд :) – чтобы ограничить файл загрузки необходимо отредактировать файл .htaccess следующим образом:
# Do not remove this line or mod_rewrite rules and search engine friendly URLs will stop working RewriteBase / # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> php_value post_max_size 1M # END WordPress
Как видите мы добавили всего одну строчку – php_value post_max_size 1M – она и ограничивает загрузку картинок, которые теперь должны быть не более 1МБ.