wpseek.com
A WordPress-centric search engine for devs and theme authors



get_blog_id_from_url › WordPress Function

Since
Deprecatedn/a
get_blog_id_from_url ( $domain, $path = '/' )
Parameters: (2)
  • (string) $domain Website domain.
    Required: Yes
  • (string) $path Optional. Not required for subdomain installations. Default '/'.
    Required: No
    Default: '/'
Returns:
  • (int) 0 if no blog found, otherwise the ID of the matching blog.
Defined at:
Codex:
Change Log:
  • MU

Gets a blog's numeric ID from its URL.

On a subdirectory installation like example.com/blog1/, $domain will be the root 'example.com' and $path the subdirectory '/blog1/'. With subdomains like blog1.example.com, $domain is 'blog1.example.com' and $path is '/'.


Source

function get_blog_id_from_url( $domain, $path = '/' ) {
	$domain = strtolower( $domain );
	$path   = strtolower( $path );
	$id     = wp_cache_get( md5( $domain . $path ), 'blog-id-cache' );

	if ( -1 == $id ) { // Blog does not exist.
		return 0;
	} elseif ( $id ) {
		return (int) $id;
	}

	$args   = array(
		'domain'                 => $domain,
		'path'                   => $path,
		'fields'                 => 'ids',
		'number'                 => 1,
		'update_site_meta_cache' => false,
	);
	$result = get_sites( $args );
	$id     = array_shift( $result );

	if ( ! $id ) {
		wp_cache_set( md5( $domain . $path ), -1, 'blog-id-cache' );
		return 0;
	}

	wp_cache_set( md5( $domain . $path ), $id, 'blog-id-cache' );

	return $id;
}