is_local_attachment

The timeline below displays how wordpress function is_local_attachment has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

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;
}

WordPress Version: 5.5

//
// 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 (strpos($url, home_url()) === false) {
        return false;
    }
    if (strpos($url, home_url('/?attachment_id=')) !== false) {
        return true;
    }
    $id = url_to_postid($url);
    if ($id) {
        $post = get_post($id);
        if ('attachment' === $post->post_type) {
            return true;
        }
    }
    return false;
}

WordPress Version: 5.4

//
// 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 (strpos($url, home_url()) === false) {
        return false;
    }
    if (strpos($url, home_url('/?attachment_id=')) !== false) {
        return true;
    }
    $id = url_to_postid($url);
    if ($id) {
        $post = get_post($id);
        if ('attachment' == $post->post_type) {
            return true;
        }
    }
    return false;
}

WordPress Version: 5.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 (strpos($url, home_url()) === false) {
        return false;
    }
    if (strpos($url, home_url('/?attachment_id=')) !== false) {
        return true;
    }
    $id = url_to_postid($url);
    if ($id) {
        $post = get_post($id);
        if ('attachment' == $post->post_type) {
            return true;
        }
    }
    return false;
}

WordPress Version: 5.1

//
// 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 (strpos($url, home_url()) === false) {
        return false;
    }
    if (strpos($url, home_url('/?attachment_id=')) !== false) {
        return true;
    }
    if ($id = url_to_postid($url)) {
        $post = get_post($id);
        if ('attachment' == $post->post_type) {
            return true;
        }
    }
    return false;
}

WordPress Version: 0.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 (strpos($url, home_url()) === false) {
        return false;
    }
    if (strpos($url, home_url('/?attachment_id=')) !== false) {
        return true;
    }
    if ($id = url_to_postid($url)) {
        $post = get_post($id);
        if ('attachment' == $post->post_type) {
            return true;
        }
    }
    return false;
}

WordPress Version: .20

//
// 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 (strpos($url, home_url()) === false) {
        return false;
    }
    if (strpos($url, home_url('/?attachment_id=')) !== false) {
        return true;
    }
    if ($id = url_to_postid($url)) {
        $post = get_post($id);
        if ('attachment' == $post->post_type) {
            return true;
        }
    }
    return false;
}

WordPress Version: 0.2

//
// 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 (strpos($url, home_url()) === false) {
        return false;
    }
    if (strpos($url, home_url('/?attachment_id=')) !== false) {
        return true;
    }
    if ($id = url_to_postid($url)) {
        $post = get_post($id);
        if ('attachment' == $post->post_type) {
            return true;
        }
    }
    return false;
}

WordPress Version: .18

//
// 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 (strpos($url, home_url()) === false) {
        return false;
    }
    if (strpos($url, home_url('/?attachment_id=')) !== false) {
        return true;
    }
    if ($id = url_to_postid($url)) {
        $post = get_post($id);
        if ('attachment' == $post->post_type) {
            return true;
        }
    }
    return false;
}

WordPress Version: 5.0

//
// 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 (strpos($url, home_url()) === false) {
        return false;
    }
    if (strpos($url, home_url('/?attachment_id=')) !== false) {
        return true;
    }
    if ($id = url_to_postid($url)) {
        $post = get_post($id);
        if ('attachment' == $post->post_type) {
            return true;
        }
    }
    return false;
}

WordPress Version: 3.7

//
// Attachment functions
//
/**
 * Check if the attachment URI is local one and is really an attachment.
 *
 * @since 2.0.0
 *
 * @param string $url URL to check
 * @return bool True on success, false on failure.
 */
function is_local_attachment($url)
{
    if (strpos($url, home_url()) === false) {
        return false;
    }
    if (strpos($url, home_url('/?attachment_id=')) !== false) {
        return true;
    }
    if ($id = url_to_postid($url)) {
        $post = get_post($id);
        if ('attachment' == $post->post_type) {
            return true;
        }
    }
    return false;
}