Skip to content

Kirby 4.3.0


Returns a single param from the URL

param(string $key, ?string $fallback = null): string|null


Name Type Default
$key * string
$fallback string|null null

Return type



Besides with URL query variables, you can set parameters via URL in Kirby in a more human-readable way:

Note that you have to use a semicolon instead of a colon on Windows systems. In your code, you can use the url() method with the params parameter to make sure that the resulting URL is compatible with both Linux and Windows servers, e.g.

$url = url($path, ['params' => ['tag' => 'myTag']]);

Those parameters are very handy when you want to build URL-based filters for your content.

Such parameters will be ignored by the router so the URL which will be fetched by Kirby in this case is

The parameters can be fetched in templates, snippets or controllers like this:

$tag  = param('tag');
$year = param('year');

You can define a fallback value if a parameter is not set:

$tag  = param('tag', 'design');
$year = param('year', 2018);

Further reading