Skip to content



$route, $path, $method, $result, $final

return [
    'hooks' => [
        'route:after' => function ($route, $path, $method, $result, $final) {
            // your code goes here
            return $result;
Since 3.4.0

The $final argument was added in Kirby 3.4.0. It tells you whether the specific route was used by the router (in which case $final is true) or skipped because the route called $this->next() (in which case $final is false).

When is the hook triggered

  • Kirby is set up
  • The routes are loaded
  • The router is created
  • The router tries to find a matching route
  • The route:before hook is triggered
  • The route action is executed
  • Within the route the route action is executed (a page rendered, deleted, or whatever the script does)
  • The route:after hook is triggered with the result of the route action