Kann ich eine URL eines Bildes verwenden, um den Anhang oder die Beitrags-ID dieses Bildes in der Datenbank zu finden?
Hier ist die Situation:
Ich gehe in einer Schleife alle "img" -Tags durch, die in meinem Beitragsinhalt von "a" -Tags umgeben sind. Wenn das src-Attribut des 'img'-Tags nicht mit dem href-Attribut des äußeren' a'-Tags übereinstimmt, möchte ich das 'img'-Tag ersetzen. Wenn sich das zu entfernende 'img' in der Galerie befindet, möchte ich diesen Beitrag löschen und dann mein Ersatz-'img 'an seine Stelle setzen. Ich habe versucht, eine Funktion wie diese zu verwenden:
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;
}
Dies ist anscheinend nicht richtig, da die Anleitung ironischerweise nicht global eindeutig ist. Ich hatte (früher im selben Skript) eine Datei mit demselben Namen hochgeladen (warum? Weil sie eine höhere Auflösung hatte und ich versuche, niedrig aufgelöste Versionen desselben Bildes zu ersetzen) und obwohl WordPress das Bild unter einem anderen Namen speichern wird Das Verzeichnis und die Guids waren identisch. (möglicherweise ein Bug).
Gibt es eine andere Technik, die ich verwenden kann?