IP : 3.21.75.162Hostname : server86.web-hosting.comKernel : Linux server86.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64Disable Function : None :) OS : Linux
PATH:
/
home/
servlmvm/
./
www/
wp-includes/
class-wp-site.php/
/
<?php /** * Site API: WP_Site class * * @package WordPress * @subpackage Multisite * @since 4.5.0 */
/** * Core class used for interacting with a multisite site. * * This class is used during load to populate the `$current_blog` global and * setup the current site. * * @since 4.5.0 * * @property int $id * @property int $network_id * @property string $blogname * @property string $siteurl * @property int $post_count * @property string $home */ #[AllowDynamicProperties] final class WP_Site {
/** * Site ID. * * Named "blog" vs. "site" for legacy reasons. * * A numeric string, for compatibility reasons. * * @since 4.5.0 * @var string */ public $blog_id;
/** * Domain of the site. * * @since 4.5.0 * @var string */ public $domain = '';
/** * Path of the site. * * @since 4.5.0 * @var string */ public $path = '';
/** * The ID of the site's parent network. * * Named "site" vs. "network" for legacy reasons. An individual site's "site" is * its network. * * A numeric string, for compatibility reasons. * * @since 4.5.0 * @var string */ public $site_id = '0';
/** * The date and time on which the site was created or registered. * * @since 4.5.0 * @var string Date in MySQL's datetime format. */ public $registered = '0000-00-00 00:00:00';
/** * The date and time on which site settings were last updated. * * @since 4.5.0 * @var string Date in MySQL's datetime format. */ public $last_updated = '0000-00-00 00:00:00';
/** * Whether the site should be treated as public. * * A numeric string, for compatibility reasons. * * @since 4.5.0 * @var string */ public $public = '1';
/** * Whether the site should be treated as archived. * * A numeric string, for compatibility reasons. * * @since 4.5.0 * @var string */ public $archived = '0';
/** * Whether the site should be treated as mature. * * Handling for this does not exist throughout WordPress core, but custom * implementations exist that require the property to be present. * * A numeric string, for compatibility reasons. * * @since 4.5.0 * @var string */ public $mature = '0';
/** * Whether the site should be treated as spam. * * A numeric string, for compatibility reasons. * * @since 4.5.0 * @var string */ public $spam = '0';
/** * Whether the site should be treated as deleted. * * A numeric string, for compatibility reasons. * * @since 4.5.0 * @var string */ public $deleted = '0';
/** * The language pack associated with this site. * * A numeric string, for compatibility reasons. * * @since 4.5.0 * @var string */ public $lang_id = '0';
/** * Retrieves a site from the database by its ID. * * @since 4.5.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $site_id The ID of the site to retrieve. * @return WP_Site|false The site's object if found. False if not. */ public static function get_instance( $site_id ) { global $wpdb;
/** * Creates a new WP_Site object. * * Will populate object properties from the object provided and assign other * default properties based on that information. * * @since 4.5.0 * * @param WP_Site|object $site A site object. */ public function __construct( $site ) { foreach ( get_object_vars( $site ) as $key => $value ) { $this->$key = $value; } }
/** * Converts an object to array. * * @since 4.6.0 * * @return array Object as array. */ public function to_array() { return get_object_vars( $this ); }
/** * Getter. * * Allows current multisite naming conventions when getting properties. * Allows access to extended site properties. * * @since 4.6.0 * * @param string $key Property to get. * @return mixed Value of the property. Null if not available. */ public function __get( $key ) { switch ( $key ) { case 'id': return (int) $this->blog_id; case 'network_id': return (int) $this->site_id; case 'blogname': case 'siteurl': case 'post_count': case 'home': default: // Custom properties added by 'site_details' filter. if ( ! did_action( 'ms_loaded' ) ) { return null; }
/** * Isset-er. * * Allows current multisite naming conventions when checking for properties. * Checks for extended site properties. * * @since 4.6.0 * * @param string $key Property to check if set. * @return bool Whether the property is set. */ public function __isset( $key ) { switch ( $key ) { case 'id': case 'network_id': return true; case 'blogname': case 'siteurl': case 'post_count': case 'home': if ( ! did_action( 'ms_loaded' ) ) { return false; } return true; default: // Custom properties added by 'site_details' filter. if ( ! did_action( 'ms_loaded' ) ) { return false; }
/** * Setter. * * Allows current multisite naming conventions while setting properties. * * @since 4.6.0 * * @param string $key Property to set. * @param mixed $value Value to assign to the property. */ public function __set( $key, $value ) { switch ( $key ) { case 'id': $this->blog_id = (string) $value; break; case 'network_id': $this->site_id = (string) $value; break; default: $this->$key = $value; } }
/** * Retrieves the details for this site. * * This method is used internally to lazy-load the extended properties of a site. * * @since 4.6.0 * * @see WP_Site::__get() * * @return stdClass A raw site object with all details included. */ private function get_details() { $details = wp_cache_get( $this->blog_id, 'site-details' );
if ( false === $details ) {
switch_to_blog( $this->blog_id ); // Create a raw copy of the object for backward compatibility with the filter below. $details = new stdClass(); foreach ( get_object_vars( $this ) as $key => $value ) { $details->$key = $value; } $details->blogname = get_option( 'blogname' ); $details->siteurl = get_option( 'siteurl' ); $details->post_count = get_option( 'post_count' ); $details->home = get_option( 'home' ); restore_current_blog();