get_blog_id_from_url( string $domain, string $path = '/' )

Get a blog’s numeric ID from its URL.


Description

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 ‘/’.


Parameters

$domain

(string) (Required)

$path

(string) (Optional) Not required for subdomain installations.

Default value: '/'


Return

(int) 0 if no blog found, otherwise the ID of the matching blog


Source

File: wp-includes/ms-functions.php

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 ( $id == -1 ) // blog does not exist
		return 0;
	elseif ( $id )
		return (int) $id;

	$args = array(
		'domain' => $domain,
		'path' => $path,
		'fields' => 'ids',
		'number' => 1,
	);
	$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;
}


Changelog

Changelog
Version Description
WP-MU Introduced. (3.0.0)