wp_load_alloptions

函数
wp_load_alloptions ( $force_cache = false )
参数
  • (bool) $force_cache Optional. Whether to force an update of the local cache from the persistent cache. Default false.
    Required:
    Default: false
返回值
  • (array) List of all options.
定义位置
相关方法
add_allowed_optionswp_load_core_site_optionsget_alloptionswp_load_translations_earlywp_preload_dialogs
引入
2.2.0
弃用
-

wp_load_alloptions: 这个函数从wp_options表中检索所有的选项,并将它们缓存在内存中。它在WordPress的初始化过程中被调用。

加载和缓存所有自动加载的选项(如果有的话)或所有选项。

function wp_load_alloptions( $force_cache = false ) {
	global $wpdb;

	if ( ! wp_installing() || ! is_multisite() ) {
		$alloptions = wp_cache_get( 'alloptions', 'options', $force_cache );
	} else {
		$alloptions = false;
	}

	if ( ! $alloptions ) {
		$suppress      = $wpdb->suppress_errors();
		$alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options WHERE autoload = 'yes'" );
		if ( ! $alloptions_db ) {
			$alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options" );
		}
		$wpdb->suppress_errors( $suppress );

		$alloptions = array();
		foreach ( (array) $alloptions_db as $o ) {
			$alloptions[ $o->option_name ] = $o->option_value;
		}

		if ( ! wp_installing() || ! is_multisite() ) {
			/**
			 * Filters all options before caching them.
			 *
			 * @since 4.9.0
			 *
			 * @param array $alloptions Array with all options.
			 */
			$alloptions = apply_filters( 'pre_cache_alloptions', $alloptions );

			wp_cache_add( 'alloptions', $alloptions, 'options' );
		}
	}

	/**
	 * Filters all options after retrieving them.
	 *
	 * @since 4.9.0
	 *
	 * @param array $alloptions Array with all options.
	 */
	return apply_filters( 'alloptions', $alloptions );
}

常见问题

FAQs
查看更多 >