Como utilizar attachment_url_to_postid() no WordPress1 min leitura

Explicação de como utilizar a função PHP attachment_url_to_postid() do WordPress e um exemplo prático de código para exibir o número de tamanhos de uma imagem a partir da sua URL.

Com a função PHP attachment_url_to_postid() você tenta obter o ID de uma mídia enviada para o WordPress através de sua URL. Caso não seja encontrado uma imagem, será retornado 0. Segue abaixo um exemplo de uso:

<?php $imagem_id = attachment_url_to_postid( $imagem_url );
Code language: PHP (php)

Nos meus testes a função só funcionou para as URLs da imagem original (ex: imagem.jpg), retornando 0 para os tamanhos redimensionados automaticamente pelo próprio WordPress (ex: imagem-768x512.jpg).

Esta função é bem útil quando você tem somente a URL da imagem salvo em um campo adicional e precisa do seu ID para obter um tamanho personalizado ou mais informações dela.

Exibindo o número de tamanhos de uma imagem do WordPress a partir da sua URL

Como exemplo prático fiz um código que conta o número de tamanhos adicionais de uma imagem gerados automaticamente pelo WordPressa a partir da sua URL. Para obter os metadados da imagem, utilizei a função PHP wp_get_attachment_metadata().

<?php $imagem_url = "https://www.danielkossmann.com/wp-content/uploads/2017/06/2017-daniel-kossmann-ferraz.png"; $imagem_id = attachment_url_to_postid( $imagem_url ); if ( $imagem_id ) { $imagem_metadados = wp_get_attachment_metadata( $imagem_id ); if ( $imagem_metadados && !empty( $imagem_metadados['sizes'] ) ) { $imagem_tamanhos = count( $imagem_metadados['sizes'] ); echo "A imagem com o ID $imagem_id tem $imagem_tamanhos tamanhos adicionais."; } else { echo "Não foi possível obter os metadados da imagem com ID = $imagem_id."; } } else { echo "O ID da imagem não foi encontrado."; }
Code language: PHP (php)

Similar Posts

Você tem algo construtivo sobre este texto para dizer? Então comente abaixo