Fazendo o WordPress funcionar bem com imagens responsivas

Autor: Louise Ward
Data De Criação: 6 Fevereiro 2021
Data De Atualização: 18 Poderia 2024
Anonim
Como Criar um Site Responsivo Elementor Wordpress (Design Responsivo)
Vídeo: Como Criar um Site Responsivo Elementor Wordpress (Design Responsivo)

Contente

  • Conhecimento necessário: PHP e CSS básicos
  • Requer: Instalação do WordPress, editor de texto de escolha
  • Hora do projeto: 10 minutos

Se você assina a versão impressa da revista .net (se não, por que não !?), verá que a edição deste mês traz um excelente artigo sobre “Design Responsivo com WordPress”.

No artigo, o autor Jesse Friedman descreve uma série de técnicas realmente úteis para aproveitar ao máximo e superar a funcionalidade inerente do WordPress a fim de produzir um site responsivo verdadeiramente eficaz. Se você está pensando em produzir um site responsivo com WordPress, você definitivamente deveria pegar uma cópia do artigo dele. É uma leitura obrigatória.

Tendo reconstruído recentemente meu blog pessoal no WordPress usando uma abordagem responsiva que prioriza os dispositivos móveis, eu estava familiarizado com algumas das técnicas abordadas no artigo. No entanto, o único item que realmente se destacou para mim foi a abordagem de Jesse para habilitar imagens fluidas via jQuery.


O problema com WordPress e “imagens fluidas”

Como tenho certeza de que todos vocês sabem, 'imagens fluidas' - que fazem uso de largura máxima: 100% - exigem que as imagens não tenham largura ou altura fixas para que possam ser dimensionadas para o tamanho de seu contêiner. Infelizmente, o WordPress calcula automaticamente as dimensões das imagens geradas da biblioteca de mídia e adiciona os atributos de largura e altura correspondentes a quaisquer tags img>.

Isso é ótimo para a velocidade de renderização da página, mas gera um maciço chave em andamento quando se trata de criar layouts responsivos, pois as dimensões da imagem não são mais restritas ao tamanho de seu contêiner.

Isso é um problema.

A solução não jQuery

Em seu artigo, Jesse 'sugere o uso de jQuery para remover os atributos de largura e altura de todas as tags img> na página depois de carregada. Isso certamente funciona, mas ao construir meu site, não gostei da ideia de depender do JavaScript para fazer isso, especialmente se houvesse muitas imagens na página em questão.


É aqui que os filtros do WordPress vieram para o resgate.

O códice do WordPress define um filtro como:

“... ganchos que o WordPress lança para modificar o texto de vários tipos antes de adicioná-lo ao banco de dados ou enviá-lo para a tela do navegador.”

Acontece que isso é exatamente o que precisamos. Configurando um filtro para ser executado em todas as imagens como a ação final antes de serem renderizadas na página, podemos usar o PHP para remover os atributos de largura e altura, evitando assim a necessidade de manipulação (potencialmente) cara de DOM via JavaScript.

O código

  1. /**
  2. * FUNÇÕES DE IMAGEM RESPONSIVA
  3. */
  4. add_filter (’post_thumbnail_html’, ’remove_thumbnail_dimensions’, 10);
  5. add_filter (’image_send_to_editor’, ’remove_thumbnail_dimensions’, 10);
  6. function remove_thumbnail_dimensions ($ html)
  7. $ html = preg_replace (’/ (largura

No código acima, estamos adicionando dois filtros usando a função add_filter. O primeiro argumento é o filtro que queremos conectar e o segundo especifica a função que queremos executar quando o filtro é chamado.


Em nosso código, nos conectamos a duas funções obscuras:

  1. post_thumbnail_html - imagens recuperadas com o post_thumbnail ()
  2. image_send_to_editor - imagens adicionadas ao editor

Em seguida, usamos uma expressão regular para remover os atributos de largura e altura das tags de imagem. Agora, quando nossas imagens são enviadas para o navegador, elas podem ser totalmente 'fluidas', assim como o Sr. Marcotte nos disse que deveriam.

Uma confissão

Devo confessar que tive a ideia de usar add_filter para remover atributos que não consegui por nada, localizar os filtros corretos do WordPress para me conectar.

Depois de muita pesquisa, finalmente encontrei este post extremamente útil no Wordpress Stack Exchange de Nathaniel Taintor, que forneceu as informações sobre os dois filtros que eu precisava.

Ressalvas

Pelo que eu sei, a única grande desvantagem dessa abordagem é que ela não remove os atributos de largura e altura de todas as imagens em seu site. Achei isso um problema, especificamente com as imagens do Gravatar que o WordPress usa nos comentários.

Se alguém tiver uma solução para este problema, deixe um comentário para que todos possamos nos beneficiar.

Espero que isso tenha sido útil e demonstrado uma alternativa ao uso de JavaScript para implementar “imagens fluidas” em sites WordPress.

Palavras: David Smith

Dave Smith é designer de front-end baseado perto da bela cidade de Bath, no Reino Unido. Quando ele não está trabalhando em novos e empolgantes projetos da web, ele pode ser encontrado tocando trompete em tudo, desde grupos de jazz de Big Band a orquestras sinfônicas. Você pode conversar com Dave no Twitter como @get_dave.

Posts Fascinantes
Os 10 principais programas de TV de 2012
Consulte Mais Informação

Os 10 principais programas de TV de 2012

Um identificador de TV é o pequeno trecho de vídeo que é reproduzido algun egundo ante do início de um programa, informando ao e pectador qual canal ele e tá a i tindo. Uma eq...
Os melhores aplicativos de design para Windows
Consulte Mais Informação

Os melhores aplicativos de design para Windows

Aplicativo de de ign para Window podem parecer um oxímoro. Antigamente, e você fo e um de igner gráfico profi ional, o Mac era o único jogo da cidade. Agora, porém, a máq...
Fonte do dia: Filthy Black Italic
Consulte Mais Informação

Fonte do dia: Filthy Black Italic

Aqui na Creative Bloq, omo grande fã de tipografia e e tamo con tantemente em bu ca de fonte nova e emocionante - e pecialmente fonte gratuita . Portanto, e você preci ar de uma fonte para e...