Bagaimana Anda mendapatkan ukuran thumbnail postingan?

13

Saya tahu cara mengatur ukuran gambar thumbnail pos menggunakan WP Media Admin Settings atau menggunakan fungsi ini :

set_post_thumbnail_size( 150, 150 )

Tapi bagaimana cara mendapatkan lebar dan tinggi gambar yang telah ditetapkan untuk ukuran thumbnail gambar?

Saya ingin dapat melakukan sesuatu seperti ini:

get_post_thumbnail_size(); // return array(150, 150)

Bagaimana ini akan dilakukan? Apakah dengan menggunakan get_option(), dan apakah tombol pilihan untuk lebar dan tinggi thumbnail?

mikkelbreum
sumber

Jawaban:

8

Ketika ukuran gambar ditambahkan baik oleh WordPress ( add_image_size), atau dengan plugin atau kode kustom Anda sendiri ditambahkan ke $_wp_additional_image_sizesglobal, saya tidak dapat menemukan fungsi yang sama untuk menarik data dari global itu, tetapi Anda tentu saja bisa melihat ke dalam global untuk menentukan lebar dan tinggi yang dimiliki oleh ukuran gambar yang terdaftar.

Contoh:

global $_wp_additional_image_sizes;
// Output width
echo $_wp_additional_image_sizes['post_thumbnail']['width'];
// Output height
echo $_wp_additional_image_sizes['post_thumbnail']['height'];

Tentu saja pastikan untuk merujuk nilai-nilai itu pada suatu titik setelah Anda mengatur ukurannya. Jadi jika misalnya Anda mengatur ukuran thumbnail selama init, Anda harus memastikan untuk melakukan apa pun yang Anda butuhkan setelah titik itu (kalau tidak Anda akan mendapatkan kembali ukurannya seperti sebelum menetapkannya).

Semoga itu bisa membantu.

t31os
sumber
Tampaknya post-thumbnaillebih daripada post_thubmnail(WP3.6)
user2019515
15

Namun ada cara lain:

get_option( 'thumbnail_size_w' );
get_option( 'thumbnail_size_h' );

Catatan: thumbnailadalah salah satu ukuran yang diatur di dalam $_wp_additional_image_sizes. Jadi panggilan untuk get_option()bekerja untuk setiap ukuran gambar lainnya juga.

Menandai
sumber
4
Ini sebenarnya pilihan terbaik karena plugin dapat menjalankan pengaitnya di atasnya.
fuxia
1
Itu sebabnya saya terkejut belum disebutkan.
Tandai
1

Perlu diingat bahwa ini global $_wp_additional_image_sizes; mungkin tidak berfungsi seperti yang diharapkan. Misalnya ketika menggunakan dalam plugin itu tidak akan mengembalikan ukuran tambahan bahwa Tema telah terdaftar.

eeMZee
sumber
Ini akan terjadi jika Anda membuat panggilan nanti cukup dalam urutan tindakan, yaitu. jika tema mendaftarkan ukuran pada tindakan init, panggilan Anda harus dilakukan setelah tindakan tersebut terjadi.
t31os
1

Satu-satunya yang masih hilang adalah ID thumbnail:

$post_thumbnail_id = get_post_thumbnail_id( $post_id );
$attachment = wp_get_attachment_image_src( $post_thumbnail_id );
$width=$attachment[1];
$height=$attachment[2];
Alexander Poslavsky
sumber
-1

Yang Anda butuhkan adalah fungsi ini: wp_get_attachment_image_src

Codex: http://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src

Ini akan mengembalikan array yang berisi url, lebar, dan tinggi lampiran.

Mihael
sumber
1
Ya tetapi mengharapkan ID untuk gambar yang diberikan, pengguna tidak memiliki ID untuk lulus, ia ingin mengetahui ukuran terdaftar berdasarkan nama, misalnya. thumbnail (post_thumbnail).
t31os
-1

Selain posting di atas:

$attachment = wp_get_attachment_image_src( $attachment_id ); // where $attachment_id is the ID of the attachment you want to get the thumbnail from

Kemudian cukup gunakan kode berikutnya untuk menampilkan url, lebar dan tinggi:

echo $attachment[0]; // url
echo $attachment[1]; // width
echo $attachment[2]; // height
Gerben Van Dijk
sumber