Qual é a diferença entre set_post_thumbnail_size e add_image_size? É set_post_thumbnail_size para todas as imagens e add_image_size para dimensionar imagens individualmente?
Obrigado.
fonte
Qual é a diferença entre set_post_thumbnail_size e add_image_size? É set_post_thumbnail_size para todas as imagens e add_image_size para dimensionar imagens individualmente?
Obrigado.
Quando uma imagem é carregada no WordPress, ela é salva em seu tamanho original e também como algumas cópias redimensionadas em tamanhos diferentes. Dessa maneira, fica fácil usar tamanhos diferentes, da mesma imagem, para finalidades diferentes.
Por padrão, o WordPress cria 3 cópias em 3 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 se soma aos três padrões.
Cada tamanho registrado pode ser recuperada usando o seu nome, em alguma função 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 três padrões ou um dos tamanhos personalizados registrados add_image_size
).
Se 'full'
for usado como $size
argumento, a imagem original é retornada, a imagem não redimensionada.
Além das funções mencionadas acima, existem outras duas funções que usam tamanhos de imagem: get_the_post_thumbnail
e the_post_thumbnail
.
Essas duas funções obtêm (a primeira) e ecoam (a segunda) a imagem definida como "Imagem em destaque" para uma postagem.
O que é retornado (ou ecoado) por essas funções é uma img
tag html completa , algo como
<img scr="http://www.example.com/wp-content/2013/08/image-200x200.jpg" />
Então, qual é o tamanho usado?
Se a $size
for passado como o segundo argumento (o primeiro é $postid
), essas funções retornarão a imagem nesse tamanho. Caso contrário, procurar essas funções para um tamanho de imagem registrada com o nome: post-thumbnail
.
Esse não é um dos três tamanhos padrão; na verdade, é o quarto tamanho padrão (o quinto é 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 ligou set_post_thumbnail_size
(o que significa que o tamanho 'post-thumbnail'
não foi criado), o WordPress usará o tamanho thumb
e, mesmo que esse tamanho não esteja disponível, o WordPress usará a imagem original, a que não foi redimensionada.
O registro de tamanhos de imagem personalizados pode ser muito útil ao projetar um tema, mas é importante não abusar: todas as imagens carregadas são copiadas e redimensionadas para todos os tamanhos registrados, portanto, o registro de vários tamanhos desacelerará bastante o processo de upload de imagens.
Uma nota:
Esteja ciente de que, quando o WordPress cria cópias em escala de uma imagem, ele nunca a amplia, mas apenas faz cópias menores: por exemplo, se a imagem original é 400x500px e o tamanho da imagem 'média' é 800x600px, tamanho médio e maior não são criados.
Portanto, o registro de um tamanho de imagem nunca garante que um arquivo de imagem para todos os tamanhos registrados realmente exista na pasta de conteúdo do WordPress. Mesmo porque o tamanho da imagem registrada muda facilmente: alterando configurações, alternando temas etc.
Quando um tamanho de imagem é alterado, por qualquer motivo, a alteração afeta as imagens carregadas 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 após o upload de algumas imagens (por exemplo, após a alteração de temas), o plug-in Regenerar miniaturas será um salva-vidas.
set_post_thumbnail_size( 150, 150 ); If you haven't called set_post_thumbnail_size (which means the size 'post-thumbnail' is not created), WordPress will use the size thumb, and if even this size is not available, WordPress will use the original image, the one not resized.
... está incorreto. Na minha experiência testando isso, seset_post_thumbnail_size()
não tiver sido chamado, o WP volta à imagem em tamanho real.Partida Codex:
set_post_thumbnail_size
add_image_size
fonte