Срабатывает после подключения (вывода) шаблона.
locate_template() - это низкоуровневая функция для подключения шаблонов, на которых базируются такие функции как get_template_part(), а также get_header(), get_footer() и т.д. В купе с событием wp_before_load_template, событие wp_after_load_template
позволяют, к примеру, замерить скорость подключения (генерации) шаблона (см. пример). Этим и пользуется дебаг-плагин Query Monitor.
Хук добавлен благодаря тикету #54541.
Использование
add_action( 'wp_after_load_template', 'wp_kama_after_load_template_action', 10, 3 ); /** * Function for `wp_after_load_template` action-hook. * * @param string $_template_file The full path to the template file. * @param bool $load_once Whether to require_once or require. * @param array $args Additional arguments passed to the template. * * @return void */ function wp_kama_after_load_template_action( $_template_file, $load_once, $args ){ // action... }
- $_template_file(строка)
- Полный путь к файлу шаблона, например
/home/site/www/wp-content/themes/mytheme/myfile.php
. - $load_once(true|false)
true
- шаблон подключался с помощьюrequire_once
.
false
- шаблон подключался с помощьюrequire
.- $args(массив)
- Дополнительные параметры, которые были переданы в подключаемый файл.
Примеры
#1 Замерим скорость подключения (генерации) каждого файла шаблона
// До подключения шаблона add_action( 'wp_before_load_template', 'wpkama_load_template_timer' ); // После подключения шаблона add_action( 'wp_after_load_template', 'wpkama_load_template_timer' ); // выводим собранные данные в лог файл register_shutdown_function( 'wpkama_load_template_timer' ); function wpkama_load_template_timer( $file = null ){ static $files_start_times = []; static $result = []; if( doing_action( 'wp_before_load_template' ) ){ $files_start_times[ $file ] = microtime( true ); return; } if( doing_action( 'wp_after_load_template' ) ){ $result[ $file ][] = sprintf( '%.6f sec.', microtime( true ) - $files_start_times[ $file ] ); return; } // shutdown error_log( print_r( $result, true ) ); }
Получим в файле лога следующее (многоточие - начальная часть полнго пути к файлу, заменёно для краткости):
Array ( [.../templates/parts/header/svg.php] => Array ( [0] => 0.000394 sec. ) [.../templates/parts/header/header.php] => Array ( [0] => 0.010713 sec. ) [.../templates/event/archive/parts/event-card-full.php] => Array ( [0] => 0.000572 sec. [1] => 0.000530 sec. ) [.../templates/event/single/parts/upcoming-events.php] => Array ( [0] => 0.006188 sec. ) [.../templates/event/single/parts/schedule.php] => Array ( [0] => 0.000237 sec. ) [.../templates/parts/btn-to-top.php] => Array ( [0] => 0.000124 sec. ) [.../templates/parts/footer/footer.php] => Array ( [0] => 0.005845 sec. ) )
Читайте также Измерение скорости (времени) выполнения php скрипта, а также о дебаге в WordPress.
Список изменений
С версии 6.1.0 | Введена. |
Где вызывается хук
wp_after_load_template
do_action( 'wp_after_load_template', $_template_file, $load_once, $args );
Где используется хук в WordPress
Использование не найдено.