wp_load_core_site_options

函式
wp_load_core_site_options ( $network_id = null )
引數
  • (int) $network_id Optional site ID for which to query the options. Defaults to the current site.
    Required:
    Default: null
定義位置
相關方法
update_site_optionwp_load_alloptionsadd_site_optiondelete_site_optionget_site_option
引入
3.0.0
棄用
-

wp_load_core_site_options: 這個函式檢索核心網站選項(如網站名稱和標語)並將其快取在記憶體中。它在WordPress的初始化過程中被呼叫。

如果is_multisite()和永續性快取沒有被使用,載入和快取某些經常被請求的站點選項。

function wp_load_core_site_options( $network_id = null ) {
	global $wpdb;

	if ( ! is_multisite() || wp_using_ext_object_cache() || wp_installing() ) {
		return;
	}

	if ( empty( $network_id ) ) {
		$network_id = get_current_network_id();
	}

	$core_options = array( 'site_name', 'siteurl', 'active_sitewide_plugins', '_site_transient_timeout_theme_roots', '_site_transient_theme_roots', 'site_admins', 'can_compress_scripts', 'global_terms_enabled', 'ms_files_rewriting' );

	$core_options_in = "'" . implode( "', '", $core_options ) . "'";
	$options         = $wpdb->get_results( $wpdb->prepare( "SELECT meta_key, meta_value FROM $wpdb->sitemeta WHERE meta_key IN ($core_options_in) AND site_id = %d", $network_id ) );

	$data = array();
	foreach ( $options as $option ) {
		$key                = $option->meta_key;
		$cache_key          = "{$network_id}:$key";
		$option->meta_value = maybe_unserialize( $option->meta_value );

		$data[ $cache_key ] = $option->meta_value;
	}
	wp_cache_set_multiple( $data, 'site-options' );
}

常見問題

FAQs
檢視更多 >