wp_loadedхук-событиеWP 3.0.0

Срабатывает после полной загрузки WordPress, когда среда полностью готова к выполнению кода на любом типе запроса.

Срабатывает после init.

Срабатывает один раз, когда WordPress, все плагины и активная тема полностью загружены, это поздняя точка для инициализаций вашего кода по «готовности окружения».

В отличие от хука init, в мультисайтовом режиме он не срабатывает, если текущий сайт помечен как удалённый, заархивированный или спам. В этом случае после хука init будет вызван соответствующий файл, например blog-deleted.php, и выполнение PHP прекратится, не дойдя до вызова этого хука, то есть до полной загрузки WordPress дело не дойдёт.

Это событие объявлено в файле wp-settings.php.

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

add_action( 'wp_loaded', 'wp_kama_loaded_action' );

/**
 * Function for `wp_loaded` action-hook.
 * 
 * @return void
 */
function wp_kama_loaded_action(){

	// action...
}

Примеры

-1

#1 Ранний бутстрап после полной загрузки

Подходит для инициализации сервисов и подключений, которым необходимы уже загруженные плагины и тема.

<?php
// Регистрируем обработчик как можно раньше на этом событии.
add_action( 'wp_loaded', 'my_project_bootstrap', 0 );

function my_project_bootstrap() {
	// Инициализация сервис-локатора, контейнеров, подписок на хуки плагинов и темы.
	// Здесь уже доступен весь чужой код и можно безопасно на него опираться.
}

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

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

Где вызывается хук

В файле: /wp-settings.php
wp_loaded
wp-settings.php 764
do_action( 'wp_loaded' );

Где используется хук в WordPress

wp-includes/class-wp-customize-manager.php 375
add_action( 'wp_loaded', array( $this, 'wp_loaded' ) );
wp-includes/class-wp-customize-widgets.php 113
add_action( 'wp_loaded', array( $this, 'override_sidebars_widgets_for_theme_switch' ) );
wp-includes/class-wp-rewrite.php 1520
add_action( 'wp_loaded', array( $this, 'flush_rules' ) );
wp-includes/class-wp-rewrite.php 1878
add_action( 'wp_loaded', array( $this, 'flush_rules' ) );
wp-includes/cron.php 995
add_action( 'wp_loaded', '_wp_cron', 20 );
wp-includes/default-filters.php 550
add_action( 'wp_loaded', '_custom_header_background_just_in_time' );
wp-includes/default-filters.php 754
add_action( 'wp_loaded', '_add_template_loader_filters' );
wp-includes/deprecated.php 5886
add_action( 'wp_loaded', $fn_register_webfonts );