Perlu diingat bahwa $content_width
global tidak hanya digunakan untuk gambar, tetapi juga untuk objek yang disematkan, seperti video. Jadi, solusi apa pun tidak akan hanya berupa menjatuhkan penggunaan / dukungan $content_width
itu sendiri.
Biasanya Tema akan membatasi gambar area konten dalam beberapa cara:
- Ukuran Gambar Besar : Menentukan
$content_width
sesuatu yang sesuai untuk desain Tema
- Ukuran Gambar Asli / Penuh : Menentukan aturan CSS untuk
#content img { max-width: XXX; height: auto; }
memastikan bahwa gambar ukuran penuh yang dimasukkan tidak merusak tata letak
- Thumbnail Ukuran gambar: Memanggil
set_post_thumbnail_size()
untuk menentukan Ukuran Gambar Utama / Post Thumbnail default thumbnail
. (Catatan: Saya pribadi tidak merekomendasikan menggunakan metode ini. Tetapkan ukuran gambar khusus untuk lokasi tertentu untuk gambar yang ditampilkan, dan kemudian panggil ukuran khusus itu di lokasi templat tertentu, melalui the_post_thumbnail( $size )
.)
Seperti yang telah Anda temukan, karena cara WordPress memilih dengan ukuran gambar menengah untuk digunakan untuk permintaan gambar apa pun yang diberikan, permintaan itu dapat menghasilkan gambar skala browser.
Nilai yang Ditentukan Tema untuk Gambar Besar
Salah satu opsi adalah mendefinisikan kembali pengaturan untuk dimensi gambar besar . (Lanjutkan dengan hati-hati. Ini bagus untuk situs Anda sendiri, tetapi Tema yang didistribusikan secara publik yang mengacaukan pengaturan konfigurasi pengguna adalah ... area abu-abu yang terbaik.)
Pengaturan dimensi gambar besar disimpan sebagai:
$large_image_width = get_option( 'large_size_w' );
$large_image_height = get_option( 'large_size_h' );
Jadi, Anda bisa mengatur nilai-nilai itu sesuai dengan $content_width
nilai Anda :
global $content_width;
update_option( 'large_size_w', $content_width );
update_option( 'large_size_h', $content_width );
(Tentu saja, Anda ingin menaruh beberapa failafe / pengecekan kesalahan di sekitar ini, yang sesuai.)
Hapus Opsi untuk Menyisipkan Gambar Berukuran Penuh
Jika Anda hanya ingin mencegah pengguna memasukkan gambar ukuran penuh (sekali lagi: lanjutkan dengan hati-hati; ini mungkin wilayah Plugin), Anda dapat memfilter 'image_size_names_choose'
:
function wpse86950_filter_image_size_names_choose( $possible_sizes ) {
unset( $possible_sizes['full'] );
return $possible_sizes;
}
add_filter( 'image_size_names_choose', 'wpse86950_filter_image_size_names_choose' );
Sekali lagi: Anda mungkin ingin menambahkan beberapa kegagalan yang waras di sini, karena filter ini digunakan di lebih dari satu tempat.
Tetapkan ukuran gambar khusus untuk gambar dengan post-lebar penuh
Terkait dengan opsi sebelumnya, Anda dapat menentukan 'full-post-width'
ukuran gambar:
global $content_width;
add_image_size( 'full-post-width', $content_width, $content_width, false );
Kemudian, tambahkan ke daftar opsi yang tersedia:
function wpse86950_filter_image_size_names_choose( $possible_sizes ) {
// Unset full image size
unset( $possible_sizes['full'] );
// Add full-post-width image size
$possible_sizes['full-post-width'] = 'Full Post Width';
// Return array
return $possible_sizes;
}
add_filter( 'image_size_names_choose', 'wpse86950_filter_image_size_names_choose' );