How do you find a file in the media library using the file URL?

We have about 2000 files in our media library and we are working on an audit to organize the files and create a name hierarchy.

But until that is done, I am trying to locate a handful of specific files to replace. I don’t know what the files are named in WordPress, I only have the URL to download the file.

Is there a way to search for the file in the dashboard using the URL?

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Based on my research, you would need to run a query on directly on the database using WPDB. So you would do something like this:

Add this in your functions.php file:

// retrieves the attachment ID from the file URL
function get_image_id($image_url) {
    global $wpdb;
    $the_attachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid='%s';", $image_url )); 
    return $the_attachment[0]; 
}

And then you can apply it wherever you like this way:

$attachment_url = 'http://example.com/wp-content/uploads/2020/10/28/just_for_the_lolz.jpg';
$attachment_id = get_image_id($image_url);

$attachment_id will have the attachment ID so you can do whatever you want with it.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x