wp_site_icon

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

WordPress Version: 6.1

/**
 * Displays site icon meta tags.
 *
 * @since 4.3.0
 *
 * @link https://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#rel-icon HTML5 specification link icon.
 */
function wp_site_icon()
{
    if (!has_site_icon() && !is_customize_preview()) {
        return;
    }
    $meta_tags = array();
    $icon_32 = get_site_icon_url(32);
    if (empty($icon_32) && is_customize_preview()) {
        $icon_32 = '/favicon.ico';
        // Serve default favicon URL in customizer so element can be updated for preview.
    }
    if ($icon_32) {
        $meta_tags[] = sprintf('<link rel="icon" href="%s" sizes="32x32" />', esc_url($icon_32));
    }
    $icon_192 = get_site_icon_url(192);
    if ($icon_192) {
        $meta_tags[] = sprintf('<link rel="icon" href="%s" sizes="192x192" />', esc_url($icon_192));
    }
    $icon_180 = get_site_icon_url(180);
    if ($icon_180) {
        $meta_tags[] = sprintf('<link rel="apple-touch-icon" href="%s" />', esc_url($icon_180));
    }
    $icon_270 = get_site_icon_url(270);
    if ($icon_270) {
        $meta_tags[] = sprintf('<meta name="msapplication-TileImage" content="%s" />', esc_url($icon_270));
    }
    /**
     * Filters the site icon meta tags, so plugins can add their own.
     *
     * @since 4.3.0
     *
     * @param string[] $meta_tags Array of Site Icon meta tags.
     */
    $meta_tags = apply_filters('site_icon_meta_tags', $meta_tags);
    $meta_tags = array_filter($meta_tags);
    foreach ($meta_tags as $meta_tag) {
        echo "{$meta_tag}\n";
    }
}

WordPress Version: 5.4

/**
 * Display site icon meta tags.
 *
 * @since 4.3.0
 *
 * @link https://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#rel-icon HTML5 specification link icon.
 */
function wp_site_icon()
{
    if (!has_site_icon() && !is_customize_preview()) {
        return;
    }
    $meta_tags = array();
    $icon_32 = get_site_icon_url(32);
    if (empty($icon_32) && is_customize_preview()) {
        $icon_32 = '/favicon.ico';
        // Serve default favicon URL in customizer so element can be updated for preview.
    }
    if ($icon_32) {
        $meta_tags[] = sprintf('<link rel="icon" href="%s" sizes="32x32" />', esc_url($icon_32));
    }
    $icon_192 = get_site_icon_url(192);
    if ($icon_192) {
        $meta_tags[] = sprintf('<link rel="icon" href="%s" sizes="192x192" />', esc_url($icon_192));
    }
    $icon_180 = get_site_icon_url(180);
    if ($icon_180) {
        $meta_tags[] = sprintf('<link rel="apple-touch-icon" href="%s" />', esc_url($icon_180));
    }
    $icon_270 = get_site_icon_url(270);
    if ($icon_270) {
        $meta_tags[] = sprintf('<meta name="msapplication-TileImage" content="%s" />', esc_url($icon_270));
    }
    /**
     * Filters the site icon meta tags, so plugins can add their own.
     *
     * @since 4.3.0
     *
     * @param string[] $meta_tags Array of Site Icon meta tags.
     */
    $meta_tags = apply_filters('site_icon_meta_tags', $meta_tags);
    $meta_tags = array_filter($meta_tags);
    foreach ($meta_tags as $meta_tag) {
        echo "{$meta_tag}\n";
    }
}

WordPress Version: 5.1

/**
 * Display site icon meta tags.
 *
 * @since 4.3.0
 *
 * @link https://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#rel-icon HTML5 specification link icon.
 */
function wp_site_icon()
{
    if (!has_site_icon() && !is_customize_preview()) {
        return;
    }
    $meta_tags = array();
    $icon_32 = get_site_icon_url(32);
    if (empty($icon_32) && is_customize_preview()) {
        $icon_32 = '/favicon.ico';
        // Serve default favicon URL in customizer so element can be updated for preview.
    }
    if ($icon_32) {
        $meta_tags[] = sprintf('<link rel="icon" href="%s" sizes="32x32" />', esc_url($icon_32));
    }
    $icon_192 = get_site_icon_url(192);
    if ($icon_192) {
        $meta_tags[] = sprintf('<link rel="icon" href="%s" sizes="192x192" />', esc_url($icon_192));
    }
    $icon_180 = get_site_icon_url(180);
    if ($icon_180) {
        $meta_tags[] = sprintf('<link rel="apple-touch-icon-precomposed" href="%s" />', esc_url($icon_180));
    }
    $icon_270 = get_site_icon_url(270);
    if ($icon_270) {
        $meta_tags[] = sprintf('<meta name="msapplication-TileImage" content="%s" />', esc_url($icon_270));
    }
    /**
     * Filters the site icon meta tags, so plugins can add their own.
     *
     * @since 4.3.0
     *
     * @param string[] $meta_tags Array of Site Icon meta tags.
     */
    $meta_tags = apply_filters('site_icon_meta_tags', $meta_tags);
    $meta_tags = array_filter($meta_tags);
    foreach ($meta_tags as $meta_tag) {
        echo "{$meta_tag}\n";
    }
}

WordPress Version: 4.7

/**
 * Display site icon meta tags.
 *
 * @since 4.3.0
 *
 * @link https://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#rel-icon HTML5 specification link icon.
 */
function wp_site_icon()
{
    if (!has_site_icon() && !is_customize_preview()) {
        return;
    }
    $meta_tags = array();
    $icon_32 = get_site_icon_url(32);
    if (empty($icon_32) && is_customize_preview()) {
        $icon_32 = '/favicon.ico';
        // Serve default favicon URL in customizer so element can be updated for preview.
    }
    if ($icon_32) {
        $meta_tags[] = sprintf('<link rel="icon" href="%s" sizes="32x32" />', esc_url($icon_32));
    }
    $icon_192 = get_site_icon_url(192);
    if ($icon_192) {
        $meta_tags[] = sprintf('<link rel="icon" href="%s" sizes="192x192" />', esc_url($icon_192));
    }
    $icon_180 = get_site_icon_url(180);
    if ($icon_180) {
        $meta_tags[] = sprintf('<link rel="apple-touch-icon-precomposed" href="%s" />', esc_url($icon_180));
    }
    $icon_270 = get_site_icon_url(270);
    if ($icon_270) {
        $meta_tags[] = sprintf('<meta name="msapplication-TileImage" content="%s" />', esc_url($icon_270));
    }
    /**
     * Filters the site icon meta tags, so Plugins can add their own.
     *
     * @since 4.3.0
     *
     * @param array $meta_tags Site Icon meta elements.
     */
    $meta_tags = apply_filters('site_icon_meta_tags', $meta_tags);
    $meta_tags = array_filter($meta_tags);
    foreach ($meta_tags as $meta_tag) {
        echo "{$meta_tag}\n";
    }
}

WordPress Version: 4.6

/**
 * Display site icon meta tags.
 *
 * @since 4.3.0
 *
 * @link https://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#rel-icon HTML5 specification link icon.
 */
function wp_site_icon()
{
    if (!has_site_icon() && !is_customize_preview()) {
        return;
    }
    $meta_tags = array(sprintf('<link rel="icon" href="%s" sizes="32x32" />', esc_url(get_site_icon_url(32))), sprintf('<link rel="icon" href="%s" sizes="192x192" />', esc_url(get_site_icon_url(192))), sprintf('<link rel="apple-touch-icon-precomposed" href="%s" />', esc_url(get_site_icon_url(180))), sprintf('<meta name="msapplication-TileImage" content="%s" />', esc_url(get_site_icon_url(270))));
    /**
     * Filters the site icon meta tags, so Plugins can add their own.
     *
     * @since 4.3.0
     *
     * @param array $meta_tags Site Icon meta elements.
     */
    $meta_tags = apply_filters('site_icon_meta_tags', $meta_tags);
    $meta_tags = array_filter($meta_tags);
    foreach ($meta_tags as $meta_tag) {
        echo "{$meta_tag}\n";
    }
}

WordPress Version: 4.4

/**
 * Display site icon meta tags.
 *
 * @since 4.3.0
 *
 * @link http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#rel-icon HTML5 specification link icon.
 */
function wp_site_icon()
{
    if (!has_site_icon() && !is_customize_preview()) {
        return;
    }
    $meta_tags = array(sprintf('<link rel="icon" href="%s" sizes="32x32" />', esc_url(get_site_icon_url(32))), sprintf('<link rel="icon" href="%s" sizes="192x192" />', esc_url(get_site_icon_url(192))), sprintf('<link rel="apple-touch-icon-precomposed" href="%s" />', esc_url(get_site_icon_url(180))), sprintf('<meta name="msapplication-TileImage" content="%s" />', esc_url(get_site_icon_url(270))));
    /**
     * Filter the site icon meta tags, so Plugins can add their own.
     *
     * @since 4.3.0
     *
     * @param array $meta_tags Site Icon meta elements.
     */
    $meta_tags = apply_filters('site_icon_meta_tags', $meta_tags);
    $meta_tags = array_filter($meta_tags);
    foreach ($meta_tags as $meta_tag) {
        echo "{$meta_tag}\n";
    }
}

WordPress Version: 4.3

/**
 * Display site icon meta tags.
 *
 * @since 4.3.0
 *
 * @link http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#rel-icon HTML5 specification link icon.
 */
function wp_site_icon()
{
    if (!has_site_icon() && !is_customize_preview()) {
        return;
    }
    $meta_tags = array(sprintf('<link rel="icon" href="%s" sizes="32x32" />', esc_url(get_site_icon_url(32))), sprintf('<link rel="icon" href="%s" sizes="192x192" />', esc_url(get_site_icon_url(192))), sprintf('<link rel="apple-touch-icon-precomposed" href="%s">', esc_url(get_site_icon_url(180))), sprintf('<meta name="msapplication-TileImage" content="%s">', esc_url(get_site_icon_url(270))));
    /**
     * Filter the site icon meta tags, so Plugins can add their own.
     *
     * @since 4.3.0
     *
     * @param array $meta_tags Site Icon meta elements.
     */
    $meta_tags = apply_filters('site_icon_meta_tags', $meta_tags);
    $meta_tags = array_filter($meta_tags);
    foreach ($meta_tags as $meta_tag) {
        echo "{$meta_tag}\n";
    }
}