Gets 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
stringrequired- Website domain.
$path
stringoptional- Not required for subdomain installations. Default
'/'
.Default:
'/'
Source
* subdirectory '/blog1/'. With subdomains like blog1.example.com,
* $domain is 'blog1.example.com' and $path is '/'.
*
* @since MU (3.0.0)
*
* @global wpdb $wpdb WordPress database abstraction object.
*
* @param string $domain Website domain.
* @param string $path Optional. Not required for subdomain installations. Default '/'.
* @return int 0 if no blog found, otherwise the ID of the matching blog.
*/
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 );
Changelog
Version | Description |
---|---|
MU (3.0.0) | Introduced. |
Example