Відповіді:
Коли зображення завантажується в WordPress, воно зберігається в оригінальному розмірі, а також у вигляді декількох розмірів копій різного розміру. Таким чином стає легко використовувати різні розміри, однакові зображення для різних цілей.
За замовчуванням WordPress створює 3 копії в 3 різних розмірах:
'thumb'
'medium'
'large'
Розмір у пікселях для цих 3 розмірів можна встановити на інформаційній панелі WordPress під меню Settings -> Media
.
Тепер функція add_image_size
використовується для реєстрації нового розміру, який додає до 3-х за замовчуванням.
Кожен розмір зареєстрований можна отримати , використовуючи його ім'я, в деякій функції WordPress, наприклад wp_get_attachment_image_src
, wp_get_attachment_image
, wp_get_attachment_link
.
Усі ці функції приймають параметр, $size
який повинен бути назвою одного з зареєстрованих розмірів (одного з 3 стандартів або одного з призначених для користувача розмірів add_image_size
).
Якщо 'full'
використовується як $size
аргумент, повертається оригінальне зображення, яке не змінюється.
Окрім згаданих вище функцій, є ще дві функції, які використовують розміри зображень: get_the_post_thumbnail
і the_post_thumbnail
.
Ці дві функції отримують (перша) і повторюють (другу) зображення, яке встановлюється як "Вибране зображення" для публікації.
Те, що повертається (або перегукується) цими функціями, - це повний img
тег html, щось подібне
<img scr="http://www.example.com/wp-content/2013/08/image-200x200.jpg" />
Отже, який розмір використовується?
Якщо a $size
передається як другий аргумент (1-й є $postid
), ці функції повертають зображення в такому розмірі. В іншому випадку ці функції пошуку для розміру зображення , зареєстрований з ім'ям: post-thumbnail
.
Це не один із 3-х розмірів за замовчуванням, насправді це 4-й стандартний розмір (вважається 5-й full
), і ви можете зареєструвати його викликом set_post_thumbnail_size
.
Тому
set_post_thumbnail_size( $width, $height, $crop );
- це ярлик для
add_image_size( 'post-thumbnail', $width, $height, $crop );
Якщо ви не зателефонували set_post_thumbnail_size
(а це означає, що розмір 'post-thumbnail'
не створений), WordPress використовуватиме розмір thumb
, а якщо навіть цей розмір недоступний, WordPress використовуватиме оригінальне зображення, яке не змінено.
Реєстрація власних розмірів зображень може бути дуже корисною при розробці теми, але важливо не зловживати: кожне завантажене зображення копіюється та змінюється розмір для всіх зареєстрованих розмірів, тому реєстрація багатьох розмірів значно сповільнить процес завантаження зображення.
Нотатка:
Майте на увазі, що коли WordPress створює масштабовані копії зображення, він ніколи не збільшує його, а робить лише менші копії: наприклад, якщо вихідне зображення становить 400x500px, а розмір зображення 'medium' - 800x600px, середній розмір і більше не створюються.
Отже, реєстрація розміру зображення ніколи не забезпечує безпеку того, що файл зображень для кожного зареєстрованого розміру насправді існує у папці вмісту WordPress. Навіть тому, що зареєстровані розміри зображень легко змінюються: змінюючи налаштування, перемикаючи теми тощо.
Коли з будь-якої причини змінюється розмір зображення, зміна впливає на зображення, завантажені після цієї зміни; зображення, завантажені раніше, не змінюють розміри і не змінюються масштабами та не відновлюються.
Якщо вам потрібно покластися на конкретні розміри зображень після завантаження деяких зображень (наприклад, після зміни тем), то плагін Regenerate Thumbnails буде збереженням життя.
set_post_thumbnail_size( 150, 150 ); If you haven't called set_post_thumbnail_size (which means the size 'post-thumbnail' is not created), WordPress will use the size thumb, and if even this size is not available, WordPress will use the original image, the one not resized.
... неправильно. На моєму досвіді тестування цього, якщо set_post_thumbnail_size()
його не викликали, WP повертається до повного розміру зображення.
Від Codex:
set_post_thumbnail_size
Встановіть стандартні розміри Featured Image (раніше розміщено мініатюрою). Для реєстрації додаткових розмірів зображень для Featured Images використовуйте: add_image_size ().
add_image_size
Реєструє новий розмір зображення. Це означає, що WordPress створить копію Featured Image (раніше відомий як мініатюра повідомлення) із заданими розмірами при завантаженні нового зображення.