PHPackages                             fabianmichael/kirby-taxonomies - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. fabianmichael/kirby-taxonomies

ActiveKirby-plugin

fabianmichael/kirby-taxonomies
==============================

725↓100%PHP

Since Mar 4Pushed 2mo agoCompare

[ Source](https://github.com/fabianmichael/kirby-taxonomies)[ Packagist](https://packagist.org/packages/fabianmichael/kirby-taxonomies)[ RSS](/packages/fabianmichael-kirby-taxonomies/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Taxonomies for Kirby CMS
========================

[](#taxonomies-for-kirby-cms)

This plugin adds taxonomy management (i.e. tags, categories etc.) to [Kirby CMS](https://getkirby.com)

[![Screenshot of the panel](./docs/screenshot.png)](./docs/screenshot.png)

**Key features:**

- 📝 Blueprint-based taxonomy definitions
- 🌐 Multilang support
- 🗂️ Dedicated panel area for managing taxonomy terms
- 🌳 Nested terms
- 🛠️ Custom fields for terms
- 🔗 Relations to terms are based on UUIDs, so you can rename and/or translate terms later on
- 🧰 Helper methods for filtering by slug, UUID etc.

Note

This plugin is completely free and published under the MIT license. However, if you are using it in a commercial project and want to help me keep up with maintenance, please consider to **[❤️ sponsor me](https://github.com/sponsors/fabianmichael)** for securing the continued development of the plugin.

Installation
------------

[](#installation)

This version of the plugin requires PHP 8.4+, Kirby 5 and your Kirby installation must have UUIDs enabled. The recommended way of installing is by using Composer:

```
$ composer require fabianmichael/kirby-taxonomies

```

Alternatively, download and copy this repository to `site/plugins/taxonomies/`

Configuration
-------------

[](#configuration)

The is current only one global option, which defined the UUID and id of the container page which holds all taxonomies and their respective terms. You only have to change this, if your project requires a public page named `taxonomies` at root level.

```

```

### `$terms->uuids()`

[](#terms-uuids)

Returns an array of plain UUID values without the scheme (i.e. without the `page://` prefix).

Filtering by taxonomy terms
---------------------------

[](#filtering-by-taxonomy-terms)

This is where taxonomies really become handy. Let’s say our articles a subpages of a page which uses the template `blog`. Any collection of pages has a `filterByTaxonomySlugs()` method, which ensures you still get nice URLs.

```
# site/controllers/blog.php
