Como você obtém o tamanho da miniatura da postagem?


13

Sei como definir o tamanho de uma imagem em miniatura da postagem usando as Configurações de mídia administrativa do WP ou usando esta função :

set_post_thumbnail_size( 150, 150 )

Mas como obter a largura e a altura da imagem definidas para um tamanho de miniatura da imagem?

Eu gostaria de poder fazer algo assim:

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

Como isso seria feito? É usando get_option(), e as teclas de opções seriam para largura e altura da miniatura?

Respostas:


8

Quando um tamanho de imagem é adicionado pelo WordPress ( add_image_size), ou por um plug-in ou seu próprio código personalizado, ele é adicionado ao $_wp_additional_image_sizesglobal, não consigo encontrar uma função semelhante para extrair dados desse global, mas você pode simplesmente olhar para dentro o global para determinar qual largura e altura tem um tamanho de imagem registrado.

Exemplo:

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

É claro que não se esqueça de referenciar esses valores em um ponto depois de definir o tamanho. Portanto, se, por exemplo, você estiver definindo o tamanho da miniatura durante o init, precisará fazer o que for necessário após esse ponto (caso contrário, você receberá os tamanhos como antes de defini-los).

Espero que ajude.


Parece ser post-thumbnail, em vez de post_thubmnail(WP3.6)
user2019515

15

Existe, no entanto, outra maneira:

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

Nota: thumbnailé um dos tamanhos definidos no interior $_wp_additional_image_sizes. Portanto, a chamada para get_option()também funcionará para todos os outros tamanhos de imagem.


4
Esta é realmente a melhor opção, porque o plug-in pode funcionar nele.
fuxia

1
É por isso que estou surpreso que ainda não tenha sido mencionado.
Mark


1

Lembre-se de que isso global $_wp_additional_image_sizes; pode não funcionar conforme o esperado. Por exemplo, ao usar o plugin, ele não retornará os tamanhos adicionais que os Temas registraram.


Será se você fizer a ligação mais tarde na sequência de ações, ou seja. se o tema registrar os tamanhos na ação init, sua chamada deverá ser feita após a ocorrência dessa ação.
T31os

1

A única coisa que falta é o ID da miniatura:

$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

Além da postagem acima:

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

Em seguida, basta usar o próximo código para exibir a URL, largura e altura:

echo $attachment[0]; // url
echo $attachment[1]; // width
echo $attachment[2]; // height
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.