WordPress Version: 6.3
//
// Attachment functions.
//
/**
* Determines whether an attachment URI is local and really an attachment.
*
* For more information on this and similar theme functions, check out
* the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
* Conditional Tags} article in the Theme Developer Handbook.
*
* @since 2.0.0
*
* @param string $url URL to check
* @return bool True on success, false on failure.
*/
function is_local_attachment($url)
{
if (!str_contains($url, home_url())) {
return false;
}
if (str_contains($url, home_url('/?attachment_id='))) {
return true;
}
$id = url_to_postid($url);
if ($id) {
$post = get_post($id);
if ('attachment' === $post->post_type) {
return true;
}
}
return false;
}