WordPress.org

Make WordPress Core

Ticket #37948: 37948.diff

File 37948.diff, 2.5 KB (added by flixos90, 5 years ago)
  • src/wp-includes/class-wp-site.php

     
    170170                        return false;
    171171                }
    172172
     173                if ( ! is_multisite() ) {
     174                        if ( 1 !== $site_id ) {
     175                                return false;
     176                        }
     177
     178                        $home = parse_url( get_option( 'home' ) );
     179
     180                        $_site = new stdClass();
     181                        $_site->blog_id = $site_id;
     182                        $_site->domain  = $home['host'];
     183                        $_site->path    = isset( $home['path'] ) ? $home['path'] : '/';
     184                        $_site->site_id = 1;
     185
     186                        return new WP_Site( $_site );
     187                }
     188
    173189                $_site = wp_cache_get( $site_id, 'sites' );
    174190
    175191                if ( ! $_site ) {
     
    236252                        case 'siteurl':
    237253                        case 'post_count':
    238254                        case 'home':
    239                                 if ( ! did_action( 'ms_loaded' ) ) {
     255                                if ( is_multisite() && ! did_action( 'ms_loaded' ) ) {
    240256                                        return null;
    241257                                }
    242258                                $details = $this->get_details();
     
    267283                        case 'siteurl':
    268284                        case 'post_count':
    269285                        case 'home':
    270                                 if ( ! did_action( 'ms_loaded' ) ) {
     286                                if ( is_multisite() && ! did_action( 'ms_loaded' ) ) {
    271287                                        return false;
    272288                                }
    273289                                return true;
     
    317333
    318334                if ( false === $details ) {
    319335
    320                         switch_to_blog( $this->blog_id );
     336                        if ( is_multisite() ) {
     337                                switch_to_blog( $this->blog_id );
     338                        }
     339
    321340                        // Create a raw copy of the object for backwards compatibility with the filter below.
    322341                        $details = new stdClass();
    323342                        foreach ( get_object_vars( $this ) as $key => $value ) {
     
    327346                        $details->siteurl    = get_option( 'siteurl' );
    328347                        $details->post_count = get_option( 'post_count' );
    329348                        $details->home       = get_option( 'home' );
    330                         restore_current_blog();
    331349
     350                        if ( is_multisite() ) {
     351                                restore_current_blog();
     352                        }
     353
    332354                        $cache_details = true;
    333355                        foreach ( array( 'blogname', 'siteurl', 'post_count', 'home' ) as $field ) {
    334356                                if ( false === $details->$field ) {
  • src/wp-settings.php

     
    118118        require( ABSPATH . WPINC . '/class-wp-network-query.php' );
    119119        require( ABSPATH . WPINC . '/ms-blogs.php' );
    120120        require( ABSPATH . WPINC . '/ms-settings.php' );
    121 } elseif ( ! defined( 'MULTISITE' ) ) {
    122         define( 'MULTISITE', false );
     121} else {
     122        if ( ! defined( 'MULTISITE' ) ) {
     123                define( 'MULTISITE', false );
     124        }
     125        require_once( ABSPATH . WPINC . '/class-wp-site.php' );
    123126}
    124127
    125128register_shutdown_function( 'shutdown_action_hook' );