Jak uzyskać rozmiar miniatury postu?


13

Wiem, jak ustawić rozmiar miniatury posta przy użyciu ustawień WP Admin Media lub tej funkcji :

set_post_thumbnail_size( 150, 150 )

Ale jak uzyskać szerokość i wysokość obrazu , które zostały ustawione dla rozmiaru miniatury obrazu?

Chciałbym móc zrobić coś takiego:

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

Jak by to było zrobione? Czy to za pomocą get_option(), i czy klawisze opcji służą do szerokości i wysokości miniatury?

Odpowiedzi:


8

Kiedy rozmiar obrazu jest dodawany albo przez WordPress ( add_image_size), albo przez wtyczkę albo własny kod dodawany do $_wp_additional_image_sizesglobalnego, nie mogę znaleźć podobnej funkcji do pobierania danych z tego globalnego, ale z pewnością możesz po prostu zajrzeć do środka globalny, aby określić, jaka szerokość i wysokość ma zarejestrowany rozmiar obrazu.

Przykład:

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'];

Oczywiście pamiętaj, aby odwoływać się do tych wartości w punkcie po ustawieniu rozmiaru. Więc jeśli na przykład ustawiasz rozmiar miniatury podczas init, musisz upewnić się, że zrobisz wszystko, co trzeba po tym punkcie (w przeciwnym razie odzyskasz rozmiary takie, jakie były przed ustawieniem).

Mam nadzieję, że to pomaga.


Wydaje się, że jest post-thumbnailraczej niż post_thubmnail(WP3.6)
user2019515

15

Istnieje jednak inny sposób:

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

Uwaga: thumbnailjest jednym z rozmiarów ustawionych w środku $_wp_additional_image_sizes. Dlatego wezwanie do get_option()będzie działać również dla każdego innego rozmiaru obrazu.


4
Jest to właściwie najlepsza opcja, ponieważ wtyczka może uruchamiać na niej zaczepy.
fuxia

1
Dlatego jestem zaskoczony, że nie zostało jeszcze wspomniane.
Mark


1

Pamiętaj, że global $_wp_additional_image_sizes; może to nie działać zgodnie z oczekiwaniami. Na przykład użycie w wtyczce nie zwróci dodatkowych rozmiarów zarejestrowanych przez Motywy.


Będzie, jeśli wykonasz połączenie później w sekwencji akcji, tj. jeśli motyw rejestruje rozmiary akcji inicjującej, połączenie musi zostać wykonane po tej akcji.
t31os

1

Jedyne, czego wciąż brakuje, to identyfikator miniatury:

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


-1

Oprócz powyższego postu:

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

Następnie użyj następnego kodu, aby wyświetlić adres URL, szerokość i wysokość:

echo $attachment[0]; // url
echo $attachment[1]; // width
echo $attachment[2]; // height
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.