Biasanya ketika Anda menetapkan ukuran gambar khusus menggunakan hard crop - misalnya add_image_size( 'custom-size', 400, 400, true );
- Anda mendapatkan hasil berikut:
- # 1 Gambar yang diunggah: 600x500> Thumbnail: 400x400.
- # 2 Gambar yang diunggah: 500x300> Thumbnail: 400x300.
- # 3 Gambar yang diunggah: 300x200> Thumbnail: 300x200.
Namun yang ingin saya lakukan adalah ketika gambar yang diunggah lebih kecil dari lebar yang ditetapkan, atau tinggi, atau keduanya, dari ukuran gambar khusus, misalnya contoh # 2 & # 3 di atas - alih-alih gambar yang hanya dipotong agar sesuai dalam dimensi tersebut - itu juga dipotong agar sesuai dengan rasio aspek mereka (yang dalam hal ini adalah 1: 1) seperti:
- # 1 Gambar yang diunggah: 600x500> Thumbnail: 400x400.
- # 2 Gambar yang diunggah: 500x300> Thumbnail: 300x300 .
- # 3 Gambar yang diunggah: 300x200> Thumbnail: 200x200 .
Saya tidak percaya ini mungkin menggunakan opsi add_image_size standar, tetapi apakah mungkin menggunakan fungsi yang berbeda, atau pengait yang memodifikasi fungsi add_image_size?
Atau ada plugin yang menambahkan fungsi ini?
Setiap informasi yang dapat diberikan siapa pun akan sangat dihargai.
add_image_size
untuk melakukan apa yang saya jelaskan di atas. Saya cukup yakin ini tidak mungkin menggunakan parameter standar, tapi saya berharap itu mungkin menggunakan hook, action, atau filter.Jawaban:
Anda benar bahwa itu tidak berfungsi seperti itu.
Jika OK jika memikirkan pertanyaan Anda sebaliknya, Anda bisa mendapatkan hasil yang tepat di peramban modern menggunakan pilihan ukuran gambar dan gambar responsif.
Jika Anda menggunakan kode seperti ini:
... dan di templat Anda, sesuatu seperti:
... lalu secara default (WP 4.4 dan yang lebih baru) Anda akan mendapatkan tag gambar dengan versi terkecil dari set Anda sebagai
src
dan ukuran yang lebih besar dalamsrcset
atribut, yang akan diambil oleh browser yang lebih baru dan menampilkan versi yang sesuai terbesar.Jadi, jika gambar tertentu tidak memiliki versi yang lebih besar, itu tidak masalah. Gambar yang
300x200
akan memiliki200x200
versi dibuat, versi itu akan menjadi satu-satunya di HTML dan semua browser akan menunjukkannya.Saya mengerjakan ini sambil mengubah gambar yang responsif sehingga saya mendapatkan kinerja yang baik pada browser yang hanya mendukung
src
dan tidaksrcset
.sumber
Ini bukan solusi yang sangat baik karena ini adalah solusi CSS yang lebih baru dan hanya bekerja di 78,9% dari browser pengguna , tetapi ada beberapa polyfill yang dapat mengatasi objek-fit-gambar dan fitie
Idealnya akan lebih baik jika gambar yang lebih kecil ditingkatkan secara proporsional saat diunggah, tapi saya belum bisa menemukan solusi untuk itu.
sumber