Apakah ada cara saya dapat mengambil URL dari suatu gambar dan menemukan lampiran atau id posting dari gambar itu dalam basis data?
Inilah situasinya:
Saya dalam satu lingkaran memeriksa semua tag 'img' yang dikelilingi oleh tag 'a' di konten posting saya. jika atribut src dari tag 'img' tidak cocok dengan atribut href dari tag 'a' luar, maka saya ingin mengganti tag 'img'. Dalam melakukan ini, jika 'img' yang akan dihapus ada di galeri, saya ingin menghapus posting itu, dan kemudian meletakkan 'img' pengganti saya di tempatnya. Saya mencoba menggunakan fungsi seperti ini:
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;
}
Ini tampaknya tidak benar karena secara ironis pedoman ini tidak unik secara global. Saya telah (sebelumnya dalam skrip yang sama) mengunggah file dengan nama yang sama (mengapa? Karena itu resolusi yang lebih tinggi dan saya mencoba untuk mengganti versi resolusi rendah dari gambar yang sama) dan walaupun wordpress akan menyimpan gambar dengan nama yang berbeda di direktori, pedoman itu ditetapkan sama. (mungkin bug).
Apakah ada teknik lain yang bisa saya gunakan?