Автоматичне керування картинками у постах на WordPress
Сьогодні я збираюся показати вам пару хаків, які допомогли мені (і сподіваюся, допоможуть і вам). У цій статті я поділюся з вами інструкцією, яквизначити перше зображення у добірці медіа-матеріалів, прикріплених до нового посту, і як задати стандартну картинку для нового посту.
Ви можете користуватися даним сніпетом у вашій темі для простого управління картинками до постів та покращення користувальницького досвіду в роботі з вашою темою оформлення блогу.

Завантажити вихідні
Зображення в постах на WordPress
Перш ніж ми приступимо, важливо сказати, що я не використовуватиму офіційну "post thumbnails " функціональність у даному конкретному посібнику. Само собою, що стандартно треба задавати для посту поле "Мініатюра"... але є кілька технічних причин, з яких вам, можливо, також не слід цього робити. Можливі причини наведені нижче:
- Тема вже використовує функцію the_post_thumbnail(); для чогось іншого. Наприклад: ви хочете, щоб "підчепилося" зображення від слайдера, що настроюється, але офіційна картинка для посту вже використовується як "прев'ю-картинки" (і ви не хочете "заморочуватися" вибором картинок, якщо хочете використовувати те саме зображення для двох різних цілей).
- Вам не подобається виведення коду від the_post_thumbnail();. Не заглиблюватимусь у це питання, але для певних ситуацій по суті простіше "підчепити" картинку, ніж боротися з тим, як код функції the_post_thumbnail(); видає картинку у вашому пості.
- Вам потрібно багато різних "картинок-прев'юшок" кардинально різного розміру і з різними пропорціями сторін у зображення … і при цьому вине задоволені тим, як WordPress стискає та форматує зображення за допомогоюthe_post_thumbnail();.
- Ваші картинки для постів хостяться не на сайті, а десь ще. Т.е. ви не можете отримати зображення за допомогоюthe_post_thumbnail(), тому що ці зображення не зберігаються на вашому сервері.
- Ви просто хочете спробувати щось нове.
Можуть бути і ще причини, з яких вам не підходить стандартне розміщення картинок у постах, але я не заглиблюватимусь в них. Пам'ятайте тільки, що я не ігнорую можливості функції the_post_thumbnail(); . Є багато завдань, які можна реалізувати за допомогою цієї функції, і, можливо, ми окремо створимо посібник для тих користувачів, яких такі можливості цікавлять.
Крок №1: "Прикріплюємо" поле, яке настроюється
Крок №2: "Підхоплюємо" прикріплені файли зображення в пості
Далі ми перевіримо, порожнє у нас поле чи ні. Якщо поле для настроюваного зображення порожнє, ми спробуємо помістити в нього будь-яке із зображень, прикріплених до нового посту.
Ви можете просто використовуватиUpload/Insert і завантажити нове зображення без необхідності вставляти його безпосередньо в публікацію. WordPress автоматично призначить прив'язку зображення до постуID. Нижче наведено код, яким я спробував поєднати пост ізпершим прикріпленим до посту файлом.
А що, якщо не знайдено поля, що налаштовується, або прикріпленого до посту файлу? Ми спробуємо поєднати будь-яку картинку з посту, яка була доданабез застосування функції завантаження. Це корисно, коли мивикористовуємо зображення з медіа-бібліотеки, тому щоid прикріпленого файлу буде призначено до іншого посту.

Крок №4: Задаємо картинку за умовчанням
А якщо всі вищезгадані умови не виконуються?
Ну тоді ви або можете взагалі відмовитися від використання будь-яких картинок у пості, або задати місце розміщення картинки за умовчанням. Ми збираємося задати стандартну картинку для всіх нових постів.
Ця частина посібника буде корисна тим, хто оновлює блог за допомогою мобільних пристроїв та програм. Вам не треба прописувати ніяких спеціальних полів або завантажувати картинку, ви просто пишете статтю, завантажуєте її в блог, і функція "магічним чином" прикріплює на головній сторінці картинку, щоб все виглядало так, як зазвичай має виглядати в блозі.
Використання: Як застосовувати цю функцію
Для використання створеної функції, помістіть код усієї функції у файлfunctions.php, і потім ви зможете застосовувати її так, як показано далі:
Або, якщо ви хочете застосовувати цю функцію разом зі зміною розмірів картинки (на зразок плагінівTimThumb абоWordThumb ), завантажуйте файли в папкиtimthumb / wordthumb у директорії вашої теми і використовуйте замість наведеного вище наступний код:
З'єднуємо всі разом: Повний вихідний код
Для тих, у кого виникли складнощі з тим, щоб звести весь код в єдине ціле, наводимо повний вихідний код сніппета, який вже готовий до вставки у файлfunctions.php :
Тепер ви можете використовувати функцію автоматичного додавання картинок у будь-якій вашій темі на додаток (або замість) функціїthe_post_thumbnail().