Як відключити різні розміри зображень, що автоматично створюються WordPress

 
Як відключити різні розміри зображень, що автоматично створюються WordPress

Коли інсталяція WordPress старіша за ліс і її вміст оновлюється з певною регулярністю, як у випадку з цією, яку ви зараз читаєте, накопичення зображень може стати великою проблемою, краще і не скажеш.

Якщо дозволити образам накопичуватися з часом, це має наслідки в довгостроковій перспективі.

Іноди або іноди

Ці невідомі. Інод - це будь-який файл або папка на сервері. Це стосується зображень, електронних листів, журналів, скриптів, таблиць стилів тощо. Все рахується за 1, незважаючи ні на що.

Переважна більшість хостерів, незважаючи на рекламу "безлімітного простору", завжди мають обмеження на кількість інодів. Хоча є й дуже щедрі, LucusHostнаприклад, вони обмежують їх більш ніж щедрим розміром один мільйонале інші хости обмежують кількість інодів до може піти на дно значно.

Можливо, колись вам знадобиться мігрувати, а ви не зможете, якщо не позбудетеся від величезної кількості цих інодів, мене вигнали з хостингу саме з цієї причини.

Нераціональне використання ресурсів

Гори невикористовуваних зображень - це марна трата дискового простору, який можна було б використати для чогось потрібного, а також не сприяє тому, що він не такий легкий, як повинен бути

Також дуже ймовірно, що, якщо ви роками нехтували ними, багато з них не оптимізовані або з якихось причин (наприклад, зміна шаблону або залишки плагінів) зламалися, додавши ще більше вічних запитів і більше споживання ресурсів.

Головне - мати план

А перед планом - нещодавня резервна копія всього блогу, включаючи базу даних. Завжди так робіть.

Мета - зменшити кількість зображень до двох. Оригінал завантаженої фотографії (достатнього розміру та у шаблоні, що дозволяє її масштабування в будь-якому місці) плюс мініатюра.

Крім того, що ми маємо план, ми повинні знати, як визначити, які зображення використовуються, а яких можна без проблем позбутися. Для цього дуже важливо знати, що їх створює.

Перше і найголовніше - пройтись по всіх розмірах, які використовуються, і з'ясувати, де кожен з них генерується. У багатьох випадках вони створюються з шаблону з коду, який зазвичай знаходиться у файлі functions.php і зазвичай виглядає більш-менш так (це залежить від кожного шаблону і може навіть не бути там або навіть не існувати, як у випадку з GeneratePress).

add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 223, 137, true );
add_image_size( 'schema-featured', 680, 350, true ); // Featured.
add_image_size( 'schema-featured2', 1360, 700, true ); // Featured x 2.
add_image_size( 'schema-related', 211, 150, true ); // Related.
add_image_size( 'schema-related2', 422, 300, true ); // Related x 2.
add_image_size( 'schema-widgetthumb', 70, 60, true ); // Widget.
add_image_size( 'schema-widgetthumb2', 140, 120, true ); // Widget x 2.
add_image_size( 'schema-widgetfull', 300, 200, true ); // Sidebar full width.
add_image_size( 'schema-slider', 772, 350, false ); // Slider.
add_image_size( 'schema-slider2', 1544, 700, false ); // Slider x 2.

Приклад наведено з файлу functions.php шаблону Схема я використовував раніше той, яким я користуюся зараз.

Тут все просто, достатньо змінити true на false (або видалити рядок), щоб не генерувати розмір при завантаженні нового. Там також розповідалося, для чого він використовується. Перед тим, як "обмежити" розмір, переконайтеся, що ви не збираєтеся використовувати функцію, для якої він створений.

Це стосується лише нових зображень, які ви завантажуєте, а не зображень, які ви вже завантажували. Про те, як їх позбутися, поговоримо пізніше.

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

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

Ескізи, які створює WordPress

Це, як правило, пісна частина. Їх ще називають мініатюрами, але справа в тому, що він також створює інші, набагато більші розміри.

Починаючи з версії 5.3, WordPress генерує сім додаткових зображень для кожного зображення, яке ви завантажуєте через медіатеку та/або візуальний редактор. Таким чином, кожного разу, коли ви завантажуєте зображення, ви додаєте вісім до загальної кількості.

Якщо додати інші можливі з шаблону, плагінів та віджетів, то може доходити до 12 і більше.

Саме їх створює WordPress:

Ескіз (150x150px
)Середній розмір (300x300px)
Великий розмір (1024x1024px

)

Середній великий 768px2x Середній
великий 1536px2x
Великий 2048pxМасштабований
2560px


З перших трьох можна обійтися без 300px і 1024px і зменшити мініатюру з 150x150px до 100x100px. Для цього достатньо зайти в Налаштування/Медіа і змінити розміри та встановити 0 (нуль) для тих, які ви не хочете генерувати.

Як відключити різні розміри зображень, що автоматично створюються WordPress

Тепер, у моєму випадку, мініатюра розміром 100х100 буде такою, яка відображається в медіатеці. Ми вже зберегли кілька сотень, а може й тисяч зображень, і купу Кб чи Мб за рахунок зменшення кількості та розміру.

Для інших чотирьох ми можемо "відмінити" створення кожного з них окремо, додавши ці фрагменти в functions.php нашого шаблону або через плагін Фрагменти коду.

Вимкнути шириною 768px, пропорційний

function shapeSpace_disable_medium_large_images($sizes) {
	
	unset($sizes['medium_large']); // disable 768px size images
	return $sizes;
	
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_medium_large_images');

Вимкнути шириною 1536px, пропорційний

function shapeSpace_disable_2x_medium_large_images($sizes) {
	
	unset($sizes['1536x1536']); // disable 2x medium-large size
	return $sizes;
	
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_2x_medium_large_images');

Вимкнути шириною 2048px, пропорційний

function shapeSpace_disable_2x_large_images($sizes) {
	
	unset($sizes['2048x2048']); // disable 2x large size
	return $sizes;
	
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_2x_large_images');

Відключити масштабування зображення (2560px)

add_filter('big_image_size_threshold', '__return_false');

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

Відключити всі розміри

// Deshabilitar los tamaños de imagen generados
function shapeSpace_disable_image_sizes($sizes) {
	
	unset($sizes['thumbnail']);    // disable thumbnail size
	unset($sizes['medium']);       // disable medium size
	unset($sizes['large']);        // disable large size
	unset($sizes['medium_large']); // disable medium-large size
	unset($sizes['1536x1536']);    // disable 2x medium-large size
	unset($sizes['2048x2048']);    // disable 2x large size
	
	return $sizes;
	
}
add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes');

// Deshabilitar el tamaño de la imagen escalada
add_filter('big_image_size_threshold', '__return_false');

// Deshabilitar otros tamaños de imagen
function shapeSpace_disable_other_image_sizes() {
	
	remove_image_size('post-thumbnail'); // Deshabilita imágenes agregadas con set_post_thumbnail_size ()
	remove_image_size('another-size');   // Deshabilita cualquier otro tamaño de imagen agregado
	
}
add_action('init', 'shapeSpace_disable_other_image_sizes');

Джерело: блог Джеффа Старра Як відключити автоматично згенеровані зображення WordPress - повне керівництво. Раджу скопіювати код з того посту, дуже рекомендую, на випадок, якщо тут щось не так вставили.

Джефф Старр також є творцем різних плагінів і один з них робить саме це (я не пробував) на випадок, якщо ви належите до тих, хто вважає за краще не ускладнювати собі життя

Щоб завантажити залишки зображень

Гаразд, ми нібито вже відключили створення всіх тих додаткових розмірів, які нам не потрібні, коли ми завантажуємо зображення

Тепер завантажуємо тестове зображення і переконуємося, що ці зайві розміри не генеруються. У моєму випадку це виглядає так:

Як відключити різні розміри зображень, що автоматично створюються WordPress

але як видалити всі ті завантажені зображення, які зараз залишилися і не використовуються?

Є щонайменше два не надто складних варіанти.

Вручну. Трохи більш виснажливо і довготривало. Ви можете знайти їх за допомогою файлового менеджера Cpanel або вашого FTP-клієнта за унікальними рядками імен файлів, наприклад, 300x300, 768x, 1536x і т.д., і видалити їх.

Якщо у вас багато зображень, ви можете скористатися плагіном Регенерувати мініатюри яка досі добре справляється зі своїми обов'язками.

Цей плагін, класичний плагін Алекса Міллса, регенерує ескізи ваших завантажених зображень. Ви можете робити це по черзі з медіатеки або всі одразу, якщо їх не дуже багато.

Після встановлення та активації, коли ви відкриєте його в меню "Інструменти/Регенерувати ескізи", ви побачите це:

Як відключити різні розміри зображень, що автоматично створюються WordPress

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

Як відключити різні розміри зображень, що автоматично створюються WordPress

Якщо все пройшло добре з цим тестом одного зображення, тепер ви можете масово регенерувати ескізи для всіх вкладень XXXX (перша кнопка). Це дозволить видалити всі зайві розміри за один раз.

Я робив це нещодавно і пам'ятаю, що масова регенерація не вдалася, напевно тому, що зображень було дуже багато (більше 20К) і процес переривався в деяких моментах, тому я вирішив робити це блоками по 200 зображень з медіатеки.

Як відключити різні розміри зображень, що автоматично створюються WordPress

Після виконання завдання ви можете видалити плагін

Хороша ідея, тепер, коли ви, безсумнівно, отримали достатньо місця, полягає в тому, щоб скористатися цим, щоб створювати оптимізовані копії ваших .jpg у форматі .webp безкоштовно з плагіном Litespeed Cache якщо ваш хостинг працює під управлінням Litespeed.


Suscríbete por email para recibir las viñetas y los artículos completos y sin publicidad

Artículos relacionados

Este blog se aloja en LucusHost

LucusHost, el mejor hosting