Existe-t-il un moyen de prendre l'URL d'une image et de trouver la pièce jointe ou l'ID de publication de cette image dans la base de données?
Voici la situation:
Je suis en train de parcourir toutes les balises 'img' entourées par les balises 'a' dans le contenu de mon message. si l'attribut src de la balise 'img' ne correspond pas à l'attribut href de la balise 'a' extérieure, je souhaite remplacer la balise 'img'. Ce faisant, si le "img" à supprimer est dans la galerie, je souhaite supprimer ce message, puis mettre mon remplaçant "img" à sa place. J'ai essayé d'utiliser une fonction comme celle-ci:
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;
}
Cela n’apparaît apparemment pas correct, car le guide n’est ironiquement pas unique au monde. J'avais (précédemment dans le même script) téléchargé un fichier portant le même nom (pourquoi? Car il s'agissait d'une résolution supérieure et j'essaie de remplacer les versions basse résolution de la même image) et bien que wordpress enregistre l'image sous un nom différent le répertoire, les guides étaient définis pour être les mêmes. (éventuellement un bug).
Y a-t-il une autre technique que je peux utiliser?