Estou tendo algum problema ao remover a largura e a altura das imagens do meu anexo ao usar wp_get_attachment_image. É isso que estou usando para exibir a imagem
<?php echo $image = wp_get_attachment_image( $entry['slide_image_id'], true, 'full'); ?>
Como fica o código fonte
<img width="150" height="108" src="http://website:8888/wp-content/uploads/2015/12/cupcakes-and-cosmetics-logo.png" class="attachment-1 size-1" alt="cupcakes-and-cosmetics-logo" />
Eu gostaria que fosse exibido assim
<img src="http://website:8888/wp-content/uploads/2015/12/cupcakes-and-cosmetics-logo.png" class="attachment-1 size-1" alt="cupcakes-and-cosmetics-logo" />
A imagem está sendo extraída de um campo de arquivo repetitivo com uma entrada com um ID de slide_image_id. Estou procurando e tenho o aviso de usar wp_get_attachment_image_url, mas quando o uso com o código acima, a imagem não é exibida. Existe algo que estou fazendo de errado?
<?php echo $image = wp_get_attachment_image_url( $entry['slide_image_id'], true, 'full'); ?>
Nota lateral: $ entry ['slide_image_id'] é o que está sendo usado para chamar meu campo de arquivo repetitivo.
custom-field
attachments
images
user3756781
fonte
fonte
wp_get_attachment_image_url()
retorna um URL - não um elemento de imagem.add_filter('wp_get_attachment_image_attributes' ...
exceto apenas altura e largura, são codificados.Respostas:
Seus argumentos para ambos
wp_get_attachment_image_url()
ewp_get_attachment_image()
estão na ordem errada - verifique a documentação vinculada para obter detalhes. Além disso,wp_get_attachment_image_url()
retorna um URL - não um elemento de imagem real.Infelizmente, a
wp_get_attachment_image()
função está atualmente (como no WordPress 4.4.1) codificada para gerar os atributoswidth
eheight
<img>
(consulte o ticket 14110 ), portanto, você precisará criar a marcação da imagem por conta própria. Isso pode ser feito seguindo sugestões dawp_get_attachment_image()
fonte de :fonte
<img>
bits de geração atributowp_get_attachment_image()
- embora eu deixei de fora ossrcset
esizes
peças utilizadas para imagens responsivos. Se isso for necessário,get_sizeless_attachment_image()
é recomendável criar uma função .Gambiarra
Fiz algumas escavações / testes principais e encontrei uma solução alternativa através do
wp_constrain_dimensions
filtro:Isso parece nos permitir remover os atributos de altura e largura do html de imagem gerado
wp_get_attachment_image()
, sem sair dos cânones reg-ex. Também poderíamos usar owp_get_attachment_image_src
filtro de maneira semelhante para remover a largura / altura, mas manter o URL .Notas
Esta solução irá remover o
srcset
esizes
atributos também. Mas também é possível definir as srcset e tamanhos atributos através da quarta$attr
argumento de entrada.Conforme mencionado por @bosco, você alterou os argumentos de entrada de ícone e tamanho em:
Use isto:
fonte
Eu simplesmente usei CSS para este. Não funciona em todos os cenários, mas com freqüência suficiente. Vamos dar uma imagem de 300 px x 300 px:
Isso restringe as dimensões da imagem sem perder sua proporção largura / altura. Caso contrário, você também pode usar o REGEX:
Estas foram algumas alternativas. Boa sorte.
fonte