O $content_width
GLOBAL no WordPress afeta muitos temas e até alguns plugins, limitando o tamanho das imagens e incorporando nas postagens, é um requisito para os temas enviados ao wordpress.org.
É definido usando:
$content_width = 584; // Twenty Twelve example
Se você inserir uma imagem grande (padrão 1024x1024) em uma postagem, isso resultará em:
src="../wp-content/uploads/2013/02/IMG_1390-1024x682.jpg" width="584" height="328"
Se, em vez disso, você remover essa configuração global e inserir o tamanho real da imagem, defina com add_image_size
ela os resultados:
src="../wp-content/uploads/2013/02/IMG_13901-584x328.jpg" width="584" height="328"
A remoção de imagens globais e a inserção de imagens grandes, o que é muito comum , geralmente resulta em uma economia de mais de 2x, em páginas com várias imagens vejo centenas de KB salvos no carregamento da página.
Usar add_image_size
e remover a capacidade de inserir imagens em tamanho real não é uma opção melhor?
ps. Eu escrevi sobre isso aqui com dados mais precisos
fonte
Respostas:
Lembre-se de que o
$content_width
global não é usado apenas para imagens, mas também para objetos incorporados, como vídeo. Portanto, qualquer solução não será meramente um caso de descartar o uso / suporte de$content_width
si mesmo.Geralmente, um tema restringe as imagens da área de conteúdo de algumas maneiras:
$content_width
algo apropriado para o projeto temático#content img { max-width: XXX; height: auto; }
garantir que as imagens em tamanho original inseridas não quebrem o layoutset_post_thumbnail_size()
para definir othumbnail
tamanho padrão Imagem em destaque / Publicar miniatura . (Observação: eu não recomendo usar esse método pessoalmente. Defina tamanhos de imagem personalizados específicos para um determinado local para uma imagem em destaque e chame esse tamanho personalizado no local do modelo específico, viathe_post_thumbnail( $size )
.)Como você descobriu, devido à maneira como o WordPress seleciona com tamanho de imagem intermediário para usar em qualquer solicitação de imagem, essa solicitação pode resultar em uma imagem em escala do navegador.
Valores definidos por tema para imagem grande
Uma opção seria redefinir as configurações para grandes dimensões de imagem . (Prossiga com cuidado. Isso é bom para o seu próprio site, mas um Tema distribuído publicamente que mexe com as definições de configuração do usuário é ... na melhor das hipóteses).
As configurações de dimensão de imagem grande são armazenadas como:
Portanto, você pode definir esses valores de acordo com o seu
$content_width
valor:(Obviamente, você deve colocar algumas verificações à prova de falhas / erros, conforme apropriado.)
Opção Remover para inserir imagens em tamanho normal
Se você simplesmente deseja impedir que os usuários insiram imagens em tamanho real (novamente: continue com cuidado; esse pode ser o território do plug-in), você pode filtrar
'image_size_names_choose'
:Novamente: convém adicionar algumas falhas de segurança aqui, pois esse filtro é usado em mais de um local.
Definir um tamanho de imagem personalizado para imagens com largura total após a publicação
Relacionado à opção anterior, você pode definir um
'full-post-width'
tamanho de imagem:Em seguida, adicione-o à lista de opções disponíveis:
fonte
get_option
valores. O resto é semelhante à essência que estou usando gist.github.com/wycks/4949242 que foi vinculada no meu link. Também parece ser uma área cinzenta sobre como fazer isso realmente escalar se o tema for alterado.$content_width
ou não da configuração, ainda é aplicada por padrão aos objetos incorporados, eu acho.image_size_names_choose
filtro até agora! Estive substituindo todo esse campo para obter meus tamanhos personalizados até agora. Isso é novo no 3.5 Chip?add_image_size
vários idiomas e depois achei que seria bom usar esse problema de tamanho de imagem. Se você não precisar de localização, basta imprimi-lo na matriz, em vez de codificá-lo.Acho que sim. Para solucionar o
$content_width
problema dos temas enviados ao repositório, uso filtros de opção para forçar os tamanhos que escolhi para o design.fonte