Custom Taxonomies - własne kategorie WordPress

Custom Taxonomies to własne systemy klasyfikacji w WordPress. Tak jak masz Categories i Tags dla postów, możesz stworzyć Umiejętności dla Zespołu czy Branże dla Portfolio. Uzupełnienie Custom Post Types.

Krótka odpowiedź

Custom Taxonomy to własna kategoria/tag dla dowolnego post type. Tworzysz przez register_taxonomy() lub CPT UI. Może być hierarchiczna (jak kategorie) lub płaska (jak tagi). Używasz do filtrowania, grupowania i organizacji treści.

Taxonomy vs Category vs Tag

Taxonomy:
- System klasyfikacji
- Category i Tag to wbudowane taxonomies
- Możesz tworzyć własne

Hierarchiczna (jak Category):
- Parent-child struktura
- Checkboxy w edytorze
- Przykład: Branże → IT → Frontend

Płaska (jak Tag):
- Bez hierarchii
- Pole tekstowe z autocomplete
- Przykład: Umiejętności (PHP, JavaScript, CSS)

Przykłady użycia:
- Portfolio: Branża, Technologia
- Zespół: Dział, Lokalizacja
- Oferty pracy: Stanowisko, Poziom

Rejestracja Custom Taxonomy

Hierarchiczna (jak kategorie):
```php
add_action('init', function() {
register_taxonomy('branza', ['portfolio'], [
'labels' => [
'name' => 'Branże',
'singular_name' => 'Branża',
'add_new_item' => 'Dodaj branżę',
],
'hierarchical' => true,
'public' => true,
'rewrite' => ['slug' => 'branza'],
'show_in_rest' => true,
'show_admin_column' => true,
]);
});
```

Płaska (jak tagi):
```php
register_taxonomy('technologia', ['portfolio'], [
'labels' => ['name' => 'Technologie'],
'hierarchical' => false, // płaska
'public' => true,
'show_in_rest' => true,
]);
```

CPT UI - tworzenie taxonomy

Przez wtyczkę:
1. CPT UI → Add/Edit Taxonomies
2. Taxonomy Slug (np. branza)
3. Plural Label (Branże)
4. Singular Label (Branża)
5. Attach to Post Type (portfolio)
6. Hierarchical: Yes/No
7. Add Taxonomy

Przypisanie do wielu CPT:
- W polu "Attach to Post Type"
- Zaznacz wiele typów
- Np. branza dla portfolio i case-study

Po utworzeniu:
- Pojawi się w menu pod CPT
- Możesz dodawać terms
- Przypisywać do wpisów

Wyświetlanie i filtrowanie

Lista terms w szablonie:
```php
$terms = get_terms(['taxonomy' => 'branza']);
foreach ($terms as $term) {
echo '';
echo $term->name . '
';
}
```

Terms przypisane do posta:
```php
$branże = get_the_terms(get_the_ID(), 'branza');
if ($branże) {
foreach ($branże as $branza) {
echo $branza->name;
}
}
```

Archiwum taxonomy:
- URL: /branza/it/
- Szablon: taxonomy-branza.php

WP_Query z taxonomy:
```php
$query = new WP_Query([
'post_type' => 'portfolio',
'tax_query' => [
[
'taxonomy' => 'branza',
'field' => 'slug',
'terms' => 'it',
]
]
]);
```

Wspomniane narzędzia

Custom Taxonomies CPT UI register_taxonomy WordPress

Najczęściej zadawane pytania

Ile custom taxonomies mogę utworzyć?
Technicznie bez limitu. Praktycznie tyle ile potrzebujesz do organizacji treści. Unikaj tworzenia taxonomy dla pól które nie wymagają filtrowania/grupowania - do tego lepszy ACF. Taxonomy gdy chcesz archiwum, filtry, lub łączyć wiele wpisów w grupy.
#wordpress#taxonomies#kategorie#cpt#development

Potrzebujesz pomocy specjalisty?

Skorzystaj z naszych usług w największych miastach Polski