WordPress Version: 6.3
/**
* Returns the Site Icon URL.
*
* @since 4.3.0
*
* @param int $size Optional. Size of the site icon. Default 512 (pixels).
* @param string $url Optional. Fallback url if no site icon is found. Default empty.
* @param int $blog_id Optional. ID of the blog to get the site icon for. Default current blog.
* @return string Site Icon URL.
*/
function get_site_icon_url($size = 512, $url = '', $blog_id = 0)
{
$switched_blog = false;
if (is_multisite() && !empty($blog_id) && get_current_blog_id() !== (int) $blog_id) {
switch_to_blog($blog_id);
$switched_blog = true;
}
$site_icon_id = (int) get_option('site_icon');
if ($site_icon_id) {
if ($size >= 512) {
$size_data = 'full';
} else {
$size_data = array($size, $size);
}
$url = wp_get_attachment_image_url($site_icon_id, $size_data);
}
if ($switched_blog) {
restore_current_blog();
}
/**
* Filters the site icon URL.
*
* @since 4.4.0
*
* @param string $url Site icon URL.
* @param int $size Size of the site icon.
* @param int $blog_id ID of the blog to get the site icon for.
*/
return apply_filters('get_site_icon_url', $url, $size, $blog_id);
}