概要
timer_float
フィルタは、リクエスト開始時からの経過時間を取得し、処理時間を測定するために使用されます。このフィルタは、パフォーマンスの監視やデバッグ、ログ記録、キャッシュ制御、ユーザー体験の向上、APIの応答時間の計測、リクエストのトラブルシューティング、プラグインやテーマの最適化、クエリのパフォーマンス分析などの機能を実装する際によく使われます。
このフィルタは、特にパフォーマンス計測や処理時間に関連する情報を扱うときに重要です。
構文
add_filter('timer_float', 'my_custom_function');
パラメータ
$float
(float): 現在のタイマーの値(経過時間)。$start
(float): リクエストの開始時刻。
戻り値
- float: フィルタ適用後の経過時間。
関連する関数
使用可能なバージョン
WordPress 2.8.0 以降。
含まれるコアファイルのパス
wp-includes/loading.php
サンプルコード
1. デフォルトの経過時間をログに出力する
add_filter('timer_float', function($float) {
error_log('経過時間: ' . $float);
return $float;
});
このサンプルコードは、リクエスト開始からの経過時間をエラーログに出力します。
2. 自動エラーレポート用のフィルタ
add_filter('timer_float', function($float) {
if ($float > 2) {
mail('admin@example.com', '長い処理時間', '処理時間: ' . $float);
}
return $float;
});
このコードは、処理時間が2秒を超えた場合に管理者にメール通知します。
3. 経過時間をHTMLに表示
add_action('wp_footer', function() {
$float = apply_filters('timer_float', 0);
echo '<div class="processing-time">処理時間: ' . $float . '秒</div>';
});
このサンプルでは、ページのフッターに経過時間を表示します。
4. デバッグ情報をフロントエンドに表示
add_action('wp_footer', function() {
$float = apply_filters('timer_float', 0);
if (defined('WP_DEBUG') && WP_DEBUG) {
echo '<pre>デバッグ情報: 経過時間は ' . $float . ' 秒です。</pre>';
}
});
ここでは、デバッグモードが有効な場合に経過時間を表示します。
5. レンダリング時間の測定
add_filter('timer_float', function($float) {
if (is_page('特定のページ')) {
$float += 1; // 特定のページでは1秒追加
}
return $float;
});
特定のページの処理時間に対して1秒を加えることで、特定ケースの測定を行います。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
非推奨または削除されたバージョン
特に非推奨または削除されているバージョンはありません。