Existe alguma maneira de eu pegar um URL de uma imagem e encontrar o anexo ou o ID da postagem no banco de dados?
Aqui está a situação:
Estou repetindo todas as tags 'img' que estão cercadas por 'a' no meu conteúdo da postagem. se o atributo src da tag 'img' não corresponder ao atributo href da tag 'a' externa, então desejo substituir a tag 'img'. Ao fazer isso, se o 'img' a ser removido estiver na galeria, desejo excluir esse post e, em seguida, colocar o meu 'img' substituto em seu lugar. Eu tentei usar uma função como esta:
function find_image_post_id($url) {
global $wpdb;
$postid = $wpdb->get_var($wpdb->prepare("SELECT DISTINCT ID FROM $wpdb->posts WHERE guid='$url'"));
if ($postid) {
return $postid;
}
return false;
}
Aparentemente, isso não está certo, porque o guia não é ironicamente único em todo o mundo. Eu tinha (anteriormente no mesmo script) enviado um arquivo com o mesmo nome (por quê? Porque era de maior resolução e estou tentando substituir as versões de baixa resolução da mesma imagem) e, embora o wordpress salve a imagem com um nome diferente em No diretório, os guias foram definidos como iguais. (possivelmente um bug).
Existe outra técnica que eu possa usar?