✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Adicionando atributos de imagem personalizados do WordPress

25

Quando se trata de trabalhar com the_content, é simples.

  1. Configure um filtro que esteja conectado a the_content,
  2. definir uma função que aceite o conteúdo do post recebido,
  3. faça suas alterações,
  4. retornar o conteúdo modificado.

E na maioria das vezes, isso é tudo o que é necessário. Mas há momentos em que você pode querer fazer coisas mais avançadas.

Por exemplo, talvez você queira incluir conteúdo de um modelo externo. Ou talvez você queira adicionar atributos às imagens que encontrar na postagem.

Pode ser difícil fazer isso usando uma expressão regular (porque HTML é uma linguagem não regular), mas com a ajuda do DOMDocument do PHP, não é tão ruim.

A ideia por trás desse código que estou prestes a mostrar é a seguinte:

  1. procure por  tags img no post,
  2. percorrer o que for encontrado,
  3. adicione os atributos,
  4. salve o HTML,
  5. retornar o resultado.

Observe que você pode precisar ajustar isso com base em suas próprias necessidades, mas o código básico necessário é :

<?php

private function addImageAttributes($content)
{

  $content  = mb_convert_encoding($content, 'HTML-ENTITIES', "UTF-8");
  $document = new DOMDocument();

  libxml_use_internal_errors(true);
  $document->loadHTML(utf8_decode($content));

  $images = $document->getElementsByTagName('img');
  foreach ($images as $image) {
      $image->setAttribute('data-example', 'true');
  }

  return $document->saveHTML();
}

Para aqueles que não estão familiarizados com o DOMDocument e o que está acontecendo no código acima (como por que certas funções são chamadas antes de processar a marcação), aqui está um resumo rápido:

  • mb_convert_encode .Isto irá pegar a codificação de caracteres dos dados recebidos e convertê-los em UTF-8 (com base no código acima, mas pode ser algo diferente).
  • libxml_use_internal_errors. Isso desativará qualquer relatório de erros e todos nós, como programadores, recuperaremos os erros por conta própria.
  • utf8_decode. Isso decodifica as informações em uma string de UTF-8 a ISO-8859-1. A razão pela qual fazemos isso é que a maioria das páginas terá um conjunto de caracteres definido como o último e precisamos que ele seja codificado para o primeiro para processá-lo.

Dito isso, também recomendo a leitura do DOMDocument para obter mais informações sobre tudo o que está acontecendo acima.

No entanto, uma vez que você use a função como o que está acima, você terá um  atributo de exemplo de dados personalizado com um valor true nas imagens em toda a sua postagem.

Fonte de gravação: tommcfarlin.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação