Як змінити розмір головного зображення в WordPress: повний технічний посібник
Рекомендовані зображення — також відомі як мініатюри публікацій — є основним візуальним елементом будь-якого сайту на WordPress. Вони відображаються у списках публікацій, сторінках архівів, попередніх переглядах у соціальних мережах та RSS-стрічках, тому їхні розміри безпосередньо впливають на узгодженість макета та сприйняту якість дизайну. Зміна розміру рекомендованого зображення у WordPress означає або перевизначення піксельних розмірів, які WordPress реєструє під час завантаження, або оновлення того, як ваша тема запитує ці розміри під час рендерингу, або обох — і невирішення обох сторін є найпоширенішою причиною того, чому змінені розміри зображень виглядають неправильно на фронтенді.
Цей посібник охоплює всі доступні методи — від налаштувань панелі керування без коду до прямого налаштування PHP — з точним технічним контекстом для кожного підходу.
Розуміння того, як WordPress обробляє розміри зображень
Перш ніж змінювати будь-які налаштування, вам потрібно зрозуміти конвеєр. Коли ви завантажуєте зображення, WordPress не зберігає один файл — він генерує кілька похідних файлів на основі зареєстрованих визначень розмірів. Ці визначення зберігаються в базі даних і реєструються або ядром WordPress, або активною темою, або встановленими плагінами.
Три розміри, які WordPress реєструє за замовчуванням:
- Мініатюра — зазвичай
150x150пікселів, жорстко обрізана за замовчуванням - Середній — до
300x300пікселів, пропорційно масштабований - Великий — до
1024x1024пікселів, пропорційно масштабований
Ваша тема реєструє додаткові розміри за допомогою add_image_size(). Коли шаблон викликає the_post_thumbnail('large'), WordPress шукає файл, який був згенерований для цього зареєстрованого розміру під час завантаження. Це критично важливий архітектурний момент: зміна визначення розміру не змінює розмір уже завантажених зображень заднім числом. Після будь-якої зміни розміру необхідно повторно згенерувати мініатюри.
Метод 1: Налаштування розміру рекомендованого зображення через налаштування медіафайлів WordPress
Це правильна відправна точка для сайтів, де тема використовує один із трьох основних розмірів для виведення рекомендованого зображення.
Крок 1: Оновіть налаштування медіафайлів
Перейдіть до Налаштування > Медіафайли на панелі керування WordPress. Ви побачите три групи розмірів. Визначте, який розмір ваша тема використовує для рекомендованих зображень — перевірте документацію теми або перегляньте відрендерений HTML, щоб підтвердити CSS-клас (наприклад, wp-image-* поряд із size-large).
Відкоригуйте поля ширини та висоти для відповідного розміру. Встановлення будь-якого виміру на 0 вказує WordPress масштабувати пропорційно по іншій осі, а не обрізати.
Натисніть Зберегти зміни.
Крок 2: Повторно згенеруйте наявні мініатюри
Нові завантаження одразу використовуватимуть оновлені розміри. Для зображень, які вже є у вашій медіатеці, необхідно повторно згенерувати похідні файли. Найнадійнішим інструментом для цього є плагін Regenerate Thumbnails від Alex Mills.
Після встановлення та активації перейдіть до Інструменти > Regen. Thumbnails і натисніть Regenerate All Thumbnails. На великих бібліотеках це ресурсомістка операція — запускайте її в години низького трафіку, і якщо ви використовуєте план VPS Хостингу, розгляньте можливість тимчасового збільшення max_execution_time та memory_limit PHP у php.ini для запобігання тайм-аутам.
Поширена помилка: Якщо ваша тема реєструє власний розмір із тією самою міткою, що й основний розмір, панель налаштувань медіафайлів не вплине на нього. Виклик add_image_size() теми матиме пріоритет.
Метод 2: Використання кастомізатора WordPress або панелі параметрів теми
Багато комерційних тем надають елементи керування розміром зображень без необхідності змінювати код.
Крок 1: Перевірте кастомізатор
Перейдіть до Зовнішній вигляд > Налаштувати. Шукайте в розділах із назвами Параметри теми, Налаштування блогу, Макет або Налаштування публікацій. Деякі теми мають тут окремий розділ Рекомендоване зображення.
Якщо елементи керування існують, відкоригуйте ширину та висоту, потім натисніть Опублікувати. Тема оновить своє зареєстроване визначення розміру, а в деяких реалізаціях автоматично повторно згенерує відповідні зображення.
Крок 2: Перевірте окрему панель параметрів теми
Преміум-теми, побудовані на фреймворках як Redux або Kirki, часто мають окремий пункт меню Параметри теми або Панель теми на бічній панелі. Шукайте підрозділи з назвами Налаштування зображень, Мініатюри публікацій або Макет архіву.
Відкоригуйте значення, збережіть, а потім вручну повторно згенеруйте мініатюри за допомогою методу плагіна, описаного вище, оскільки більшість панелей тем не запускають регенерацію автоматично.
Метод 3: Визначення власних розмірів зображень у functions.php
Це технічно правильний метод для розробників і всіх, хто потребує точного контролю над розмірами, поведінкою обрізання та іменуванням розмірів. Це також єдиний метод, який дозволяє реєструвати розміри, що не конфліктують із основними значеннями за замовчуванням.
Крок 1: Зареєструйте власний розмір
Відредагуйте файл functions.php вашої дочірньої теми. Ніколи не редагуйте файли батьківської теми безпосередньо — оновлення перезапишуть ваші зміни. Якщо у вас немає дочірньої теми, створіть її перед тим, як продовжити.
Додайте наступне всередині підключеної функції:
function mytheme_custom_image_sizes() {
add_theme_support( 'post-thumbnails' );
add_image_size( 'featured-hero', 1200, 600, true );
add_image_size( 'featured-card', 400, 300, true );
}
add_action( 'after_setup_theme', 'mytheme_custom_image_sizes' );Розбивка параметрів для add_image_size():
- Аргумент 1 — дескриптор розміру (рядок), який використовується під час виклику зображення в шаблонах
- Аргумент 2 — ширина в пікселях
- Аргумент 3 — висота в пікселях
- Аргумент 4 — режим обрізання:
trueдля жорсткого обрізання до точних розмірів;falseдля пропорційного масштабування; масив на кшталтarray( 'left', 'top' )для позиційного обрізання
Граничний випадок: Передача true як аргументу обрізання за замовчуванням використовує обрізання по центру. Якщо ваші рекомендовані зображення мають об’єкти, які постійно розташовані не по центру (наприклад, портретна фотографія), використовуйте позиційний масив — array( 'center', 'top' ) — щоб запобігти обрізанню голів.
Крок 2: Виклик власного розміру у файлах шаблонів
Знайдіть файл шаблону, відповідальний за рендеринг рекомендованого зображення. Поширені кандидати: single.php, archive.php, content.php або template-parts/content-single.php. Шукайте the_post_thumbnail для знаходження точного виклику.
Замініть існуючий аргумент розміру:
// Before
the_post_thumbnail( 'large' );
// After
the_post_thumbnail( 'featured-hero' );Для більшого контролю над розміткою виводу використовуйте get_the_post_thumbnail() з власними атрибутами:
echo get_the_post_thumbnail(
get_the_ID(),
'featured-hero',
array(
'class' => 'hero-image lazyload',
'alt' => get_the_title(),
'loading' => 'lazy',
)
);Крок 3: Зробіть власний розмір доступним для вибору у завантажувачі медіафайлів (необов’язково)
За замовчуванням власні розміри, зареєстровані за допомогою add_image_size(), не відображаються у спадному меню розмірів завантажувача медіафайлів WordPress. Щоб зробити їх доступними для редакційного використання, додайте цей фільтр:
function mytheme_add_image_sizes_to_selector( $sizes ) {
return array_merge( $sizes, array(
'featured-hero' => __( 'Featured Hero (1200x600)', 'mytheme' ),
'featured-card' => __( 'Featured Card (400x300)', 'mytheme' ),
) );
}
add_filter( 'image_size_names_choose', 'mytheme_add_image_sizes_to_selector' );Крок 4: Повторно згенеруйте мініатюри
Запустіть плагін Regenerate Thumbnails, як описано в Методі 1. Для всіх раніше завантажених зображень будуть згенеровані нові похідні файли з новими розмірами.
Метод 4: Налаштування розміру рекомендованого зображення у конструкторі сторінок
Конструктори сторінок, такі як Elementor, Divi та Bricks Builder, абстрагують шар шаблонів, тому редагування файлів шаблонів може не застосовуватися. Кожен конструктор має власні елементи керування розміром зображень.
Elementor
- Відкрийте сторінку або публікацію в Elementor.
- Виберіть віджет Рекомендоване зображення або віджет Публікації, що відображає мініатюру.
- На лівій панелі знайдіть Розмір зображення на вкладці Вміст.
- Виберіть зареєстрований розмір зі спадного меню або виберіть Власний, щоб ввести піксельні розміри.
- Натисніть Оновити.
Технічна примітка: Коли ви вибираєте «Власний» в Elementor, він не реєструє новий розмір зображення WordPress — він використовує JavaScript для зміни розміру зображення на стороні клієнта або запитує повнорозмірне зображення та масштабує його через CSS. Це збільшує вагу сторінки. Завжди надавайте перевагу зареєстрованому розміру WordPress над власним розміром Elementor для сторінок, де важлива продуктивність.
Divi
У модулі блогу або модулі рекомендованого зображення публікації Divi параметр Розмір зображення у розділі Додатково контролює, який зареєстрований розмір WordPress запитується. Divi також має власні налаштування розміру зображень у Divi > Параметри теми > Загальні > Розміри мініатюр, які реєструють додаткові похідні файли.
Метод 5: Використання плагіна для власних розмірів зображень без коду
Якщо редагування PHP неможливе, ці плагіни відтворюють функціональність add_image_size() через інтерфейс користувача:
| Плагін | Ключова функція | Найкраще для |
|---|
| — | — | — |
|---|
| Simple Image Sizes | Керування всіма зареєстрованими розмірами з налаштувань медіафайлів | Загальне використання, не розробники |
|---|
| Regenerate Thumbnails Advanced | Пакетна регенерація з вибірковим таргетингом розмірів | Великі медіатеки |
|---|
| Imsanity | Автоматично змінює розмір зображень під час завантаження до максимального виміру | Запобігання надмірно великим оригіналам |
|---|
| ShortPixel Adaptive Images | Динамічно обслуговує зображення правильного розміру через CDN | Сайти, орієнтовані на продуктивність |
|---|
Simple Image Sizes є найбільш прямою заміною для add_image_size(). Після встановлення перейдіть до Налаштування > Медіафайли — плагін додає розділ власних розмірів нижче основних значень за замовчуванням. Визначте свій розмір, збережіть і використовуйте вбудовану регенерацію плагіна для його застосування.
Порівняння: всі методи одним поглядом
| Метод | Необхідний технічний рівень | Впливає на всі зображення | Зберігається після оновлень теми | Найкращий випадок використання |
|---|
| — | — | — | — | — |
|---|
| Налаштування медіафайлів | Не потрібен | Після регенерації | Так | Налаштування розмірів основних розмірів |
|---|
| Кастомізатор / Параметри теми | Не потрібен | Залежить від теми | Так (керується темою) | Преміум-теми з вбудованими елементами керування |
|---|
| `functions.php` (дочірня тема) | Середній рівень PHP | Після регенерації | Так | Власні розміри, точний контроль |
|---|
| Інтерфейс конструктора сторінок | Не потрібен | Для кожного віджета/сторінки | Так | Варіації макета для окремих сторінок |
|---|
| Плагін (Simple Image Sizes) | Не потрібен | Після регенерації | Так | Реєстрація власних розмірів без коду |
|---|
Міркування щодо продуктивності та оптимізації зображень
Реєстрація занадто великої кількості розмірів зображень є часто недооціненою проблемою на стороні сервера. Кожен зареєстрований розмір генерує новий файл під час завантаження. Сайт із 15 зареєстрованими розмірами та 2 000 зображень у медіатеці потенційно має 30 000 файлів зображень на диску. На спільному хостингу це заповнює квоти; на будь-якому сервері це збільшує розміри резервних копій.
Periodically audit your registered sizes. Використовуйте цей фрагмент у тимчасовому плагіні або functions.php, щоб отримати список усіх зареєстрованих розмірів:
add_action( 'wp_loaded', function() {
if ( current_user_can( 'manage_options' ) && isset( $_GET['show_image_sizes'] ) ) {
echo '<pre>';
print_r( wp_get_registered_image_subsizes() );
echo '</pre>';
exit;
}
} );Відвідайте https://yoursite.com/?show_image_sizes=1 під час входу як адміністратор, щоб побачити повний список.
Додаткові практики продуктивності:
- Використовуйте формат WebP. WordPress 5.8+ конвертує завантажені зображення у WebP, якщо бібліотека GD або Imagick вашого сервера підтримує це. Перевірте підтримку в Інструменти > Стан сайту.
- Реалізуйте відкладене завантаження. WordPress додає
loading="lazy"до зображень нижче згину за замовчуванням починаючи з версії 5.5. Переконайтеся, що ваші власні викликиthe_post_thumbnail()зберігають цей атрибут. - Стискайте перед завантаженням. Такі інструменти, як ShortPixel або Imagify, безпосередньо інтегруються в медіаконвеєр WordPress і автоматично стискають похідні файли. TinyPNG добре підходить для ручного стиснення перед завантаженням.
- Використовуйте CDN. Якщо ваш сайт обслуговує глобальну аудиторію, перенесення доставки зображень на CDN зменшує затримку незалежно від кількості зареєстрованих розмірів.
Для сайтів із великим навантаженням зображень — фотопортфоліо, новинні сайти, магазини WooCommerce — VPS з cPanel надає вам контроль на рівні сервера для налаштування обмежень пам’яті PHP, безпосереднього налаштування Imagick та керування дисковими квотами, що неможливо у спільних середовищах.
Адаптивні зображення та атрибут srcset
WordPress автоматично генерує атрибути srcset та sizes для зображень у вмісті, використовуючи всі зареєстровані розміри зображень. Це означає, що кожен зареєстрований вами розмір сприяє здатності браузера вибирати найбільш відповідну роздільну здатність для вікна перегляду та співвідношення пікселів пристрою користувача.
Коли ви викликаєте the_post_thumbnail(), WordPress виводить розмітку, подібну до:
<img src="hero-1200x600.jpg"
srcset="hero-400x300.jpg 400w, hero-800x400.jpg 800w, hero-1200x600.jpg 1200w"
sizes="(max-width: 600px) 400px, (max-width: 900px) 800px, 1200px"
alt="Post Title"
loading="lazy">Атрибут sizes повідомляє браузеру, якої ширини зображення буде відображатися при різних ширинах вікна перегляду. WordPress генерує значення sizes за замовчуванням, але воно часто є неточним для складних макетів. Перевизначте його за допомогою фільтра wp_calculate_image_sizes або передавши власний атрибут sizes у масиві $attr функції get_the_post_thumbnail().
Контекст SSL, домену та хостингу
Якщо ви переносите сайт WordPress на новий домен або переходите з HTTP на HTTPS після отримання SSL-сертифіката, URL-адреси зображень, збережені в мета-даних публікацій (посилання _thumbnail_id), є відносними до ідентифікатора вкладення і не залежать від змін домену. Однак URL-адреси зображень, жорстко закодовані у вмісті публікацій або параметрах теми, потребуватимуть оновлення за допомогою операції пошуку та заміни з використанням WP-CLI:
wp search-replace 'http://olddomain.com' 'https://newdomain.com' --skip-columns=guidЯкщо ви налаштовуєте нову інсталяцію WordPress з нуля, реєстрація вашого домену через Реєстрацію доменів та поєднання її з належно налаштованим хостинговим середовищем гарантує, що шляхи завантаження медіафайлів та правила перезапису .htaccess будуть правильними з самого початку, уникаючи зламаних шаблонів URL-адрес зображень, які складно налагоджувати заднім числом.
Контрольний список технічних рішень
Використовуйте цю матрицю для вибору правильного підходу для вашої ситуації:
- Вам потрібно змінити основний розмір (мініатюра/середній/великий) і ви не редагуєте код — використовуйте Налаштування > Медіафайли, потім повторно згенеруйте мініатюри.
- Ваша преміум-тема має панель параметрів теми — спочатку перевірте там, перш ніж торкатися будь-яких файлів.
- Вам потрібен розмір із точними піксельними розмірами та жорстким обрізанням — використовуйте
add_image_size()уfunctions.phpдочірньої теми. - Ваш предмет зйомки вимагає обрізання не по центру — передайте позиційний масив як четвертий аргумент до
add_image_size(). - Ви використовуєте Elementor або Divi — використовуйте рідний елемент керування розміром зображення конструктора, але надавайте перевагу зареєстрованим розмірам WordPress над «Власним» для продуктивності.
- Ви не можете редагувати PHP і вам потрібен власний розмір — встановіть Simple Image Sizes, визначте розмір, повторно згенеруйте.
- У вас велика медіатека — використовуйте Regenerate Thumbnails Advanced, який дозволяє вибіркову регенерацію за назвою розміру, щоб уникнути надлишкової обробки.
- Продуктивність є пріоритетом — перевіряйте зареєстровані розміри, увімкніть WebP, реалізуйте CDN і переконайтеся, що відкладене завантаження активне.
- Ви використовуєте спільний хостинг і стикаєтеся з помилками пам’яті або тайм-аутами під час регенерації — розгляньте можливість переходу на план VPS Хостингу, де обмеження PHP можна налаштовувати.
Поширені запитання
Чому мої рекомендовані зображення все ще відображаються зі старим розміром після того, як я змінив налаштування медіафайлів?
WordPress генерує похідні зображення під час завантаження. Зміна визначення розміру в Налаштування > Медіафайли впливає лише на нові завантаження. Вам необхідно запустити інструмент регенерації мініатюр — наприклад, плагін Regenerate Thumbnails — щоб змінити розмір файлів, які вже є у вашій медіатеці.
У чому різниця між add_image_size() з true та false як параметром обрізання?
Передача true змушує WordPress обрізати зображення до точних ширини та висоти, які ви вказуєте, по центру за замовчуванням. Передача false масштабує зображення пропорційно так, щоб жоден вимір не перевищував вказаних вами значень, що означає, що фактичні вихідні розміри можуть бути меншими за вказані, якщо вихідне співвідношення сторін відрізняється.
Чи сповільнить мій сайт реєстрація багатьох власних розмірів зображень?
Не під час рендерингу — WordPress обслуговує попередньо згенеровані файли. Витрати на продуктивність виникають під час завантаження, коли Imagick або GD повинні згенерувати один похідний файл для кожного зареєстрованого розміру. Сайти з багатьма розмірами та великим обсягом завантажень можуть стикатися з повільними відповідями під час завантаження та значним зростанням використання диска.
Чи можу я видалити розміри зображень, які мені більше не потрібні?
Так. Використовуйте remove_image_size( 'size-name' ) у вашому functions.php, щоб припинити генерацію розміру для нових завантажень. Існуючі файли для цього розміру залишаються на диску до ручного видалення. Команда WP-CLI wp media regenerate --only-missing може допомогти з очищенням, генеруючи лише відсутні розміри без повторного створення всіх похідних файлів.
Чи впливає зміна розміру рекомендованого зображення на те, як зображення відображаються при поширенні в соціальних мережах?
Не безпосередньо. Соціальні платформи, такі як Facebook та Twitter, зчитують мета-теги Open Graph (og:image), щоб визначити, яке зображення відображати. Ці теги зазвичай встановлюються SEO-плагіном, таким як Yoast SEO або Rank Math, який реєструє власний розмір зображення (зазвичай 1200x630) спеціально для поширення в соціальних мережах. Зміна розміру рекомендованого зображення вашої теми не змінює зображення Open Graph, якщо ваш SEO-плагін не налаштований на використання того самого дескриптора розміру.
