Как получить id медиафайла(Attachment ID) если известен url картинки?
Решено
Скажите как можно получить Attachment ID медиафайла если картинка была уже ранее загружена, и у нас есть только ее url. ID нужно для того что бы прикрепить данное изображение к посту, с помощью функции set_post_thumbnail($post_id, $attach_id);
1 Ответ(ы)
Ответ
Для этого на сколько я знаю нет специальной функции.
Но решить проблему поможет следующий хак:
// retrieves the attachment ID from the file URL function pippin_get_image_id($image_url) { global $wpdb; $attachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid='%s';", $image_url )); return $attachment[0]; }
Создадим функцию которая будет делать запрос к базе и получать id по url медиафайла.
Теперь вызовим функцию:
// set the image url $image_url = 'http://yoursite.com/wp-content/uploads/2011/02/14/image_name.jpg'; // store the image ID in a var $image_id = pippin_get_image_id($image_url); // retrieve the thumbnail size of our image $image_thumb = wp_get_attachment_image_src($image_id, 'thumbnail'); // display the image echo $image_thumb[0];