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?

Topic wp-filesystem media-library Wordpress

Category Web


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.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.