Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ultimate-addons-for-gutenberg domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /sites/danielkossmann.com/files/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the hustle domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /sites/danielkossmann.com/files/wp-includes/functions.php on line 6114
Como utilizar attachment_url_to_postid() no WordPress - Daniel Kossmann

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)


Comments

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *