WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Черная пятница на сайте Template Monster

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()
✈ 1 раз = 0.003439с = очень медленно | 50000 раз = 0.05с = скорость света | PHP 7.0.32, WP 5.1.1
Хуки из функции
Возвращает

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

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

$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
	...

Заметки

  • Global. wpdb. $wpdb WordPress database abstraction object.

Список изменений

С версии 2.2.0 Введена.

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

<?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();
		$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 );
}

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

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

Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться