Функция TIMER_STOP() в WordPress
Функция TIMER_STOP() позволяет узнать, сколько времени прошло с момента начала загрузки страницы до момента вызова этой функции. Она полезна для измерения времени выполнения различных частей вашего сайта.
Основные моменты
- Нет хуков.
- Возвращает строку с задержкой времени в формате "секунды.миллисекунды".
Возвращаемое значение
- Тип: строка.
- Возвращает время, отформатированное для удобства чтения и локализованное.
Использование
timer_stop( $display, $precision );- 
$display (int|true|false): Указывает, возвращать ли результат или выводить его на экран. - 0 или false — вернуть значение.
- 1 или true — вывести значение на экран.
- По умолчанию: 0 (вернуть).
 
- 
$precision (int): Число знаков после запятой для отображения. - По умолчанию: 3.
 
Примеры использования
Пример 1: Измерение времени
echo 'Время: '. timer_stop( 0 );     // Вывод: Время: 0.098
echo 'Время: '. timer_stop( 0, 5 );  // Вывод: Время: 0.09774Пример 2: Проверка времени загрузки при вызове по URL
if( isset( $_GET['check_time'] ) ){
    add_filter( 'init', function(){
        echo timer_stop( 0, 6 ); // Вывод: 0.002664
        exit;
    }, PHP_INT_MAX );
}
// Перейдите по адресу: http://site/?check_time и увидите: 0.035360Пример 3: Измерение времени генерации страницы WordPress
Вызывайте функцию в самом конце страницы с помощью хука wp_footer:
add_action( 'wp_footer', function(){
    echo 'Время генерации страницы: '. timer_stop( 0, 4 );
} );
// Вывод: Время генерации страницы: 0.1066Пример 4: Вывод времени генерации страницы, количества запросов и использованной памяти
Выводите это всё в футере сайта и в админ-панели:
add_action('admin_footer_text', 'wp_usage' ); // Футер админки
add_action( 'wp_footer', 'wp_usage' ); // Футер сайта
function wp_usage(){
    echo sprintf( 'SQL: %d запросов за %s сек. %s МБ',
        get_num_queries(),
        timer_stop( 0, 3 ),
        round( memory_get_peak_usage()/1024/1024, 2 )
    );
}Примечания
- Глобальная: float $timestart— время в секундах с момента вызоваtimer_start().
- Глобальная: float $timeend— время в секундах с момента вызова функцииtimer_stop().
Изменения в функции
- С версии 0.71: функция была впервые представлена.
Код функции TIMER_STOP()
Функция реализована в wp-includes/load.php:
function timer_stop( $display = 0, $precision = 3 ) {
global $timestart, $timeend;
$timeend   = microtime( true );
$timetotal = $timeend - $timestart;
if ( function_exists( 'number_format_i18n' ) ) {
    $r = number_format_i18n( $timetotal, $precision );
} else {
    $r = number_format( $timetotal, $precision );
}
if ( $display ) {
    echo $r;
}
return $r;}
 
Теперь вы знаете, как использовать функцию TIMER_STOP() для измерения времени выполнения задач в WordPress!
 
						