---
url: /documentation/input-types/term.md
description: >-
  Reference taxonomy terms with a searchable input, optional multiple selection,
  and taxonomy filtering.
---

# Term Input&#x20;

Enables to reference terms through a search interface.

```js
{
  input: {
    type: 'term', // [!code focus:2]
    taxonomy: 'category'
  }
}
```

## Input Options

| Option | Values | Default | Description |
| - | - | - | - |
| `taxonomy` | `string` | `'category'` | Define the taxonomy to select from. |
| `placeholder` | `string` | `'Element suchen'` | Text displayed as search input placeholder. |
| `multiple` | `boolean` | `false` | Whether multiple terms can be selected. |
| `allowDuplicates` | `boolean` | `true` | Whether duplicate terms can be added if multiple is true. |
| `postType` | `string` | - | Define a post type to refer edit links to. Can be useful in cases of ambiguous (multi post type) taxonomies. |
| `editLink` | `string \| boolean` | `true` | Declare edit link for individual terms, `%s` will be replaced with its term ID. If set to `false`, edit links will be disabled. If set to `true`, a default edit link will be determined automatically. |

## Value Format

The value of the `term` input is an object of the following shape (or an array thereof, if `multiple` is `true`):

```js
{
  id: 123,
  label: 'My Term',
  type: 'category', // taxonomy name
  permalink: '/category/1/',
}
```

:::warning
If you switch from a `relation` input to the `term` input, make sure that your template function does not use the `payload` property, as this property is not available in the `term` input value format!
:::

## Conditions

The `term` input type supports the following conditions for [dynamic visibility](/documentation/concepts/elements/definition#dynamic-visibility):

| Condition | Payload | Description |
| - | - | - |
| `isEmpty` | `boolean`defaults to `true` | Checks whether a term has been selected or not. |
