Можно ли каким-либо образом взять URL-адрес изображения и найти вложение или идентификатор публикации этого изображения в базе данных?
Вот ситуация:
Я нахожусь в цикле, просматривая все теги 'img', которые окружены тегами 'a' в моем посте если атрибут src тега 'img' не совпадает с атрибутом href внешнего тега 'a', то я хочу заменить тег 'img'. При этом, если 'img', который должен быть удален, находится в галерее, я хочу удалить этот пост, а затем поставить его замену 'img' на его место. Я попытался использовать функцию, подобную этой:
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;
}
Это, очевидно, не правильно, потому что по иронии судьбы не является глобально уникальным. Я (ранее в том же сценарии) загрузил файл с тем же именем (почему? Потому что это было более высокое разрешение, и я пытаюсь заменить версии одного и того же изображения с низким разрешением), и хотя WordPress сохранит изображение с другим именем в каталог, направляющие были установлены одинаковыми. (возможно ошибка).
Есть ли другая техника, которую я могу использовать?