Using WordPress ‘get_site_icon_url’ PHP filter

The get_site_icon_url WordPress PHP filter modifies the site icon URL.

Usage

add_filter('get_site_icon_url', 'your_custom_function', 10, 3);
function your_custom_function($url, $size, $blog_id) {
    // your custom code here
    return $url;
}

Parameters

  • $url (string) – Site icon URL.
  • $size (int) – Size of the site icon.
  • $blog_id (int) – ID of the blog to get the site icon for.

More information

See WordPress Developer Resources: get_site_icon_url

Examples

Change site icon URL based on the blog ID

This example changes the site icon URL based on the $blog_id.

add_filter('get_site_icon_url', 'change_site_icon_url_based_on_blog_id', 10, 3);
function change_site_icon_url_based_on_blog_id($url, $size, $blog_id) {
    if ($blog_id == 2) {
        $url = 'https://example.com/custom_icon_2.png';
    } elseif ($blog_id == 3) {
        $url = 'https://example.com/custom_icon_3.png';
    }
    return $url;
}

Add a custom site icon for a specific size

This example sets a custom site icon for a specific size.

add_filter('get_site_icon_url', 'add_custom_site_icon_for_specific_size', 10, 3);
function add_custom_site_icon_for_specific_size($url, $size, $blog_id) {
    if ($size == 64) {
        $url = 'https://example.com/custom_icon_64.png';
    }
    return $url;
}

Add a custom site icon with a dynamic size

This example sets a custom site icon with a dynamic size in the URL.

add_filter('get_site_icon_url', 'add_custom_site_icon_with_dynamic_size', 10, 3);
function add_custom_site_icon_with_dynamic_size($url, $size, $blog_id) {
    $url = 'https://example.com/custom_icon_' . $size . '.png';
    return $url;
}

Replace the site icon URL with a CDN URL

This example replaces the site icon URL with a CDN URL.

add_filter('get_site_icon_url', 'replace_site_icon_url_with_cdn', 10, 3);
function replace_site_icon_url_with_cdn($url, $size, $blog_id) {
    $url = str_replace('https://example.com', 'https://cdn.example.com', $url);
    return $url;
}

Add a query string to the site icon URL

This example adds a query string to the site icon URL for cache busting.

add_filter('get_site_icon_url', 'add_query_string_to_site_icon_url', 10, 3);
function add_query_string_to_site_icon_url($url, $size, $blog_id) {
    $url = add_query_arg('version', '1.0', $url);
    return $url;
}