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

Posty i strony to nie wszystko. Custom Post Types pozwalają tworzyć portfolio, wydarzenia, recenzje, FAQ i wszystko inne. Pokażę Ci jak je utworzyć z kodem i bez.

Krótka odpowiedź

Custom Post Type to własny typ treści obok postów i stron. Tworzysz je wtyczką (Custom Post Type UI - bez kodu) lub funkcją register_post_type() w functions.php. Przykłady: portfolio, produkty, wydarzenia, referencje, FAQ.

Po co Custom Post Types?

Problem:
- Masz portfolio, ale używasz "postów"
- Masz wydarzenia, ale to "strony"
- Bałagan w kategoriach
- Trudna organizacja treści

Rozwiązanie CPT:
- Oddzielny typ: Portfolio, Wydarzenia, FAQ
- Własne pola (data wydarzenia, cena)
- Własne taksonomie (typ projektu)
- Oddzielne archiwum (/portfolio/)

Przykłady użycia:
- Portfolio/Realizacje - agencje, fotografowie
- Produkty - katalog (nie sklep)
- Wydarzenia - kalendarz imprez
- FAQ - pytania i odpowiedzi
- Referencje/Opinie - testimonials
- Lokalizacje - sieć punktów

Tworzenie CPT bez kodu (wtyczka)

Custom Post Type UI (polecana):
1. Zainstaluj wtyczkę CPT UI
2. CPT UI → Add/Edit Post Types
3. Post Type Slug: portfolio
4. Plural Label: Portfolio
5. Singular Label: Projekt
6. Konfiguruj opcje:
- Has Archive: True (strona /portfolio/)
- Supports: title, editor, thumbnail
- Menu Position: 5 (wysoko w menu)
7. Add Post Type

Taksonomie (kategorie dla CPT):
1. CPT UI → Add/Edit Taxonomies
2. Taxonomy Slug: typ-projektu
3. Attach to: Portfolio
4. Hierarchical: True (jak kategorie)

Zalety CPT UI:
- Zero kodowania
- Eksport do PHP (nauka)
- Łatwe modyfikacje

Tworzenie CPT kodem

W functions.php lub własnej wtyczce:
```php
function create_portfolio_cpt() {
register_post_type('portfolio', array(
'labels' => array(
'name' => 'Portfolio',
'singular_name' => 'Projekt',
'add_new' => 'Dodaj projekt',
'add_new_item' => 'Dodaj nowy projekt'
),
'public' => true,
'has_archive' => true,
'menu_icon' => 'dashicons-portfolio',
'supports' => array('title', 'editor', 'thumbnail', 'excerpt'),
'rewrite' => array('slug' => 'portfolio'),
'show_in_rest' => true // dla Gutenberg
));
}
add_action('init', 'create_portfolio_cpt');
```

Po dodaniu CPT:
- Zapisz permalinki (Ustawienia → Bezpośrednie odnośniki → Zapisz)
- Nowy typ pojawi się w menu admina

Custom Fields dla CPT

Advanced Custom Fields (ACF):
- Twórz własne pola bez kodu
- Data, obrazek, galeria, powtarzalne
- Warunkowe wyświetlanie
- Darmowa wersja wystarczająca

Przykład dla Portfolio:
- Klient (tekst)
- Data realizacji (data)
- URL projektu (link)
- Galeria (galeria obrazków)
- Technologie (checkbox: WordPress, Shopify...)

Meta Box:
- Alternatywa dla ACF
- Więcej typów pól
- Generator online

Wyświetlanie pól:
```php
$client = get_field('klient');
$url = get_field('url_projektu');
echo '

Klient: ' . $client . '

';
```

Wspomniane narzędzia

Custom Post Type UI Advanced Custom Fields Meta Box Toolset

Najczęściej zadawane pytania

Czy WooCommerce to Custom Post Type?
Tak, produkty WooCommerce (product) to CPT. Zamówienia (shop_order), kupony (shop_coupon) też. WooCommerce pokazuje możliwości CPT w praktyce.
Co się stanie jak wyłączę wtyczkę CPT?
Dane pozostaną w bazie, ale nie będą widoczne. Włączenie wtyczki przywraca wszystko. Dla bezpieczeństwa - lepiej definiować CPT w motywie potomnym lub własnej wtyczce.
#wordpress#cpt#custom-post-type#acf#programowanie

Potrzebujesz pomocy specjalisty?

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