set_post_thumbnail_size vs add_image_size

10

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 o dimensionamento de imagens individualmente?

Obrigado.

    
por Greeso 01.08.2013 / 09:48

2 respostas

24

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.

    
por gmazzap 01.08.2013 / 11:03
1

Do códice:

set_post_thumbnail_size

  

Defina as dimensões padrão da Imagem em destaque (anteriormente Post Thumbnail).   Para registrar tamanhos de imagem adicionais para Imagens em destaque, use:   add_image_size ().

add_image_size

  

Registra um novo tamanho de imagem. Isso significa que o WordPress criará um   cópia da Imagem em Destaque (anteriormente conhecida como miniatura de postagem) com a   dimensões especificadas quando você faz o upload de uma nova imagem.

    
por Krzysiek Dróżdż 01.08.2013 / 09:55