이미지의 URL을 가져 와서 데이터베이스에서 해당 이미지의 첨부 파일 또는 게시물 ID를 찾을 수있는 방법이 있습니까?
상황은 다음과 같습니다.
내 게시물 내용에서 'a'태그로 둘러싸인 모든 'img'태그를 반복적으로 처리하고 있습니다. 'img'태그의 src 속성이 외부 'a'태그의 href 속성과 일치하지 않으면 '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;
}
guid가 전적으로 독특하지 않기 때문에 이것은 옳지 않습니다. (동일한 스크립트에서 이전에) 동일한 이름으로 파일을 업로드했습니다 (왜? 해상도가 높고 동일한 이미지의 저해상도 버전을 바꾸려고 시도 중임). 워드 프레스는 이미지를 다른 이름으로 저장하지만 디렉토리, guid와 동일하게 설정되었습니다. (아마도 버그).
사용할 수있는 다른 기술이 있습니까?