Make WordPress Core

Ticket #42091: 42091.2.diff

File 42091.2.diff, 1.3 KB (added by jeremyfelt, 7 years ago)
  • src/wp-includes/ms-blogs.php

     
    7070}
    7171
    7272/**
    73  * Retrieves a sites ID given its (subdomain or directory) slug.
     73 * Retrieves a site's ID given its (subdomain or directory) slug.
    7474 *
    7575 * @since MU (3.0.0)
    7676 * @since 4.7.0 Converted to use get_sites().
     77 * @since 4.9.0 Converted to use get_site_by().
    7778 *
    7879 * @param string $slug A site's slug.
    7980 * @return int|null The site ID, or null if no site is found for the given slug.
    8081 */
    8182function get_id_from_blogname( $slug ) {
    82         $current_network = get_network();
    83         $slug = trim( $slug, '/' );
     83        $result = get_site_by( 'slug', $slug );
    8484
    85         if ( is_subdomain_install() ) {
    86                 $domain = $slug . '.' . preg_replace( '|^www\.|', '', $current_network->domain );
    87                 $path = $current_network->path;
    88         } else {
    89                 $domain = $current_network->domain;
    90                 $path = $current_network->path . $slug . '/';
    91         }
    92 
    93         $site_ids = get_sites( array(
    94                 'number' => 1,
    95                 'fields' => 'ids',
    96                 'domain' => $domain,
    97                 'path' => $path,
    98         ) );
    99 
    100         if ( empty( $site_ids ) ) {
     85        if ( ! $result ) {
    10186                return null;
    10287        }
    10388
    104         return array_shift( $site_ids );
     89        return $result->id;
    10590}
    10691
    10792/**