Custom Post Types - własne typy treści WordPress

Custom Post Types to sposób na rozszerzenie WordPressa poza posty i strony. Portfolio, oferty, zespół, wydarzenia - każdy typ treści może mieć własną strukturę. Podstawa budowy zaawansowanych stron WordPress.

Krótka odpowiedź

Custom Post Type to własny typ treści poza Post i Page. Tworzysz przez register_post_type() w functions.php lub wtyczkę (CPT UI). Każdy CPT może mieć własne pola (ACF), taksonomie, szablony (single-{cpt}.php, archive-{cpt}.php). Niezbędne dla zaawansowanych projektów.

Kiedy używać Custom Post Types

Przykłady zastosowań:
- Portfolio/Projekty
- Oferty pracy
- Zespół/Pracownicy
- Wydarzenia
- Referencje/Testimonials
- Produkty (poza WooCommerce)
- FAQ
- Lokalizacje/Oddziały

Dlaczego nie zwykłe posty?
- Osobna sekcja w adminie
- Własne pola (custom fields)
- Własne taksonomie
- Dedykowane szablony
- Łatwiejsze zarządzanie

Kiedy NIE używać CPT:
- Jedna lub kilka podstron - użyj Page
- Treści blogowe - użyj Post + Categories

Rejestracja CPT przez kod

Podstawowa rejestracja:
```php
add_action('init', function() {
register_post_type('portfolio', [
'labels' => [
'name' => 'Portfolio',
'singular_name' => 'Projekt',
'add_new' => 'Dodaj projekt',
'add_new_item' => 'Dodaj nowy projekt',
'edit_item' => 'Edytuj projekt',
],
'public' => true,
'has_archive' => true,
'rewrite' => ['slug' => 'portfolio'],
'supports' => ['title', 'editor', 'thumbnail', 'excerpt'],
'menu_icon' => 'dashicons-portfolio',
'show_in_rest' => true, // Gutenberg
]);
});
```

Po rejestracji:
- Odśwież permalinki (Ustawienia → Bezpośrednie odnośniki → Zapisz)

CPT UI - wtyczka bez kodowania

Instalacja:
- Wtyczki → Custom Post Type UI
- Aktywuj

Tworzenie CPT:
1. CPT UI → Add/Edit Post Types
2. Post Type Slug (np. portfolio)
3. Plural Label (Portfolio)
4. Singular Label (Projekt)
5. Ustaw opcje (public, archive, supports)
6. Add Post Type

Zalety CPT UI:
- Bez kodowania
- Eksport do kodu PHP
- Łatwe zarządzanie

Wady:
- Zależność od wtyczki
- Mniej elastyczne niż kod

Eksport do kodu:
- CPT UI → Tools → Get Code
- Skopiuj do functions.php
- Dezaktywuj wtyczkę

Szablony dla Custom Post Types

Hierarchia szablonów:
- Pojedynczy: single-{post_type}.php → single.php
- Archiwum: archive-{post_type}.php → archive.php

Przykład single-portfolio.php:
```php








Klient:






```

archive-portfolio.php:
- Loop przez projekty
- Thumbnails, excerpts
- Paginacja

Wspomniane narzędzia

Custom Post Type UI ACF register_post_type WordPress

Najczęściej zadawane pytania

Czy CPT jest widoczny w Google?
Tak, jeśli ustawisz public => true i has_archive => true. Każdy CPT entry ma własny URL (single) i może mieć archiwum. Możesz dodać je do sitemap (Yoast/RankMath automatycznie włącza). Pamiętaj o meta title/description dla każdego wpisu.
#wordpress#custom-post-type#cpt#development#portfolio

Potrzebujesz pomocy specjalisty?

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