Quando uma imagem é carregada no WordPress, ela é salva em seu tamanho original e também como algumas cópias redimensionadas em tamanhos diferentes. Desta forma, torna-se fácil usar tamanhos diferentes, da mesma imagem, para diferentes propósitos.
Por padrão, o WordPress cria três cópias em três tamanhos diferentes:
-
'thumb'
-
'medium'
-
'large'
O tamanho em pixels para esses três tamanhos pode ser definido no painel do WordPress, no menu Settings -> Media
.
Agora, a função add_image_size
é usada para registrar um novo tamanho, que é adicionado ao 3 padrões.
Cada tamanho registrado pode ser recuperado usando seu nome, em alguma função do WordPress, por exemplo wp_get_attachment_image_src
, wp_get_attachment_image
, wp_get_attachment_link
.
Todas essas funções aceitam um parâmetro $size
que deve ser o nome de um dos tamanhos registrados (um dos 3 padrões ou um dos tamanhos personalizados registrados com add_image_size
).
Se 'full'
for usado como $size
argumento, a imagem original será retornada, a que não foi redimensionada.
Além das funções mencionadas acima, há duas outras funções que usam tamanhos de imagem: get_the_post_thumbnail
e the_post_thumbnail
.
Essas duas funções obtêm (a primeira) e eco (a segunda) a imagem definida como "Imagem em destaque" para uma postagem.
O que é retornado (ou ecoado) por essas funções é uma tag img
html completa, algo como
<img scr="http://www.example.com/wp-content/2013/08/image-200x200.jpg" />
Então, qual é o tamanho usado?
Se um $size
for passado como segundo argumento (o primeiro é $postid
), essas funções retornam a imagem nesse tamanho. Caso contrário, essas funções procurarão por um tamanho de imagem registrado com o nome: post-thumbnail
.
Este não é um dos 3 tamanhos padrão, na verdade, é o 4º tamanho padrão (o 5º é considerado full
) e você pode registrá-lo chamando set_post_thumbnail_size
.
Então
set_post_thumbnail_size( $width, $height, $crop );
é um atalho para
add_image_size( 'post-thumbnail', $width, $height, $crop );
Se você não tiver chamado set_post_thumbnail_size
(o que significa que o tamanho 'post-thumbnail'
não será criado), o WordPress usará o tamanho thumb
e, se esse tamanho não estiver disponível, o WordPress usará a imagem original. o que não foi redimensionado.
Registrar tamanhos de imagem personalizados pode ser muito útil ao criar um tema, mas é importante não abusar: cada imagem enviada é copiada e redimensionada para todos os tamanhos registrados, por isso, registrar vários tamanhos diminuir a velocidade do processo de upload de imagens.
Uma nota:
Lembre-se de que, quando o WordPress cria cópias dimensionadas de uma imagem, ela nunca é ampliada, mas produz apenas cópias menores. se a imagem original for 400x500px e o tamanho da imagem "média" for 800x600px, o tamanho médio e o tamanho maior não serão criados .
Portanto, registrar um tamanho de imagem nunca dá a segurança de que existe um arquivo de imagem para cada tamanho registrado na verdade na pasta de conteúdo do WordPress. Até porque os tamanhos das imagens registradas mudam facilmente: alterando configurações, alternando temas etc.
Quando um tamanho de imagem é alterado, por qualquer motivo, a alteração afeta as imagens enviadas após essa alteração; as imagens enviadas antes não alteram as dimensões e não são redimensionadas e salvas novamente .
Se for necessário confiar em tamanhos de imagem específicos depois que algumas imagens já estiverem carregadas (por exemplo, após a alteração de temas), o plugin Regenerate As miniaturas serão um salva-vidas.