WordPress как на ладони
wordpress jino

wp_load_alloptions() WP 2.2.0

Загружает в кэш все авто-загружаемые опции WordPress. Получает все опции сайта.

Если нет авто-загружаемых опций, то загрузить все опции.

Пометка о том является ли опция авто-загружаемой ставиться при добавлении опции или при её обновлении в параметре $autoload:

add_option( $name, $value, $deprecated, $autoload );
// или
update_option( $option_name, $newvalue, $autoload );

Эта функция вызывается автоматически на раннем этапе загрузки WordPress. Она загружает все опции из таблицы wp_options. Далее, когда мы получаем опцию, с помощью get_option() опция уже берется из кэша, а не из базы данных.

Работает на основе: wp_cache_get(), wp_cache_add()
Хуки из функции:
Возвращает

Массив. Массив всех загруженных в кэш опций. Где ключ - название опции, а значение - значение опции.

Использование

$alloptions = wp_load_alloptions();

Примеры

#1 Получим все опции сайта

$alloptions = wp_load_alloptions();

В результате $alloptions будет содержать такой массив:

Array (
	[siteurl] => http://wp-kama.ru/
	[blogname] => WordPress как на ладони
	[blogdescription] => функции, хаки и статьи для начинающих
	[users_can_register] => 1
	[admin_email] => admin@bk.ru
	[start_of_week] => 1
	[use_balanceTags] => 
	[require_name_email] => 1
	[comments_notify] => 
	[posts_per_rss] => 15
	[rss_use_excerpt] => 1
	[default_category] => 1
	[default_comment_status] => open
	[default_ping_status] => open
	...

Код wp load alloptions: wp-includes/option.php WP 4.9

<?php
function wp_load_alloptions() {
	global $wpdb;

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

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

Cвязанные функции

Из раздела: Опции сайта (настройки)

wp_load_alloptions Комментариев нет

Здравствуйте, !

Ваш комментарий