Як зберігаються thumbnails зображення в WordPress

Всі зображення в WordPress зберігаються подібно до постів у таблиці wp_posts з типом attachment.

Знайдемо зображення за назвою самого файлу:

Я прибрав з результату несуттєві дані:

Також зображення містить додаткові мета-дані у таблиці wp_postmeta:

Доступні розміри мініатюр та назви зображень мініатюр зберігаються в meta-даних як серіалізований масив (мета-поле _wp_attachment_metadata):

Формат серіалізованого масиву з доступними мініатюрами:

Ну і представлення самих файлів у каталозі uploads/:

Щоразу коли мені необхідно працювати з мініатюрками зображень - я задаюсь одним питанням: "Чому мініатюрки з коробки не генеруються на льоту?". Ось чому б не генерувати зменшене зображення за першого запиту? Натомість, у WordPress потрібно заздалегідь задати всі необхідні розміри картинок, які будуть генеруватися при завантаженні картинки.

Недоліки такого підходу:

  1. При додаванні нового розміру мініатюри, старі картинки не міститимуть цю мініатюрку. Вже потрібно ставити плагін для перегенерації мініатюр. Але згодом у вас збереться картинок на десятки гігабайт. Геморой..
  2. Якщо блог розгорнуть на кількох оточеннях (local, stage, prod) – рано чи пізно вам доведеться тягнути картинки із сервака. По-перше, поки завдання не стосуються використання мініатюр - ви, звичайно, можете прокинути запити на продакшн сервер за допомогою того ж веб-сервера. Але коли-небудь вам потрібно затягнути на локалку всі гігабайти ваших картинок.

#wp attachment images, #wp preview images, #wp images thumbnails