wp_load_alloptions

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

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

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

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

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

Хуков нет.

Возвращает

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

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

$alloptions = wp_load_alloptions();

Примеры

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

$alloptions = wp_load_alloptions();

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

<?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() )
			wp_cache_add( 'alloptions', $alloptions, 'options' );
	}

	return $alloptions;
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *