WordPress este cunoscut în primul rând pentru articole și pagini, însă un website poate avea nevoie de structuri de conținut mai specifice. Un portofoliu, o bibliotecă de produse editoriale, proiecte, evenimente, anunțuri sau recenzii pot fi administrate mai clar prin tipuri de conținut personalizate, cunoscute sub numele de Custom Post Types sau CPT.
Un CPT nu este un simplu titlu diferit pentru un articol. Este un tip distinct de conținut în WordPress, cu propriile setări de afișare și administrare. Folosit corect, poate face panoul de control mai logic și poate ajuta la dezvoltarea unui website care crește în timp.

Ce este un Custom Post Type
În WordPress, tipul de conținut determină modul în care o înregistrare este stocată și administrată. Platforma include tipuri standard precum post, page, attachment și alte tipuri interne. Prin funcția register_post_type(), dezvoltatorii pot înregistra tipuri suplimentare, adaptate proiectului.
De exemplu, un site de prezentare poate avea un tip numit „Proiecte”, separat de articolele blogului. Fiecare proiect poate avea titlu, descriere, imagine principală, galerie, client, dată și categorie proprie. În loc să introduci toate aceste informații într-un articol obișnuit, le organizezi într-o structură dedicată.
Când merită să creezi un CPT
Un tip personalizat este util atunci când ai un grup de elemente care se repetă, au aceleași câmpuri și trebuie administrate separat de articolele obișnuite. Exemple frecvente:
- Portofoliu: proiecte, galerii, servicii și studii de caz.
- Evenimente: dată, locație, organizator și informații de înscriere.
- Testimoniale: nume, rol, companie și mesajul clientului.
- Resurse: documente, materiale descărcabile și fișe informative.
- Proprietăți: caracteristici, locație, suprafață și galerii foto.
Dacă ai doar câteva articole cu un subiect comun, o categorie sau o etichetă poate fi suficientă. Nu crea un CPT doar pentru că sună mai tehnic. O structură suplimentară înseamnă și responsabilitate pentru șabloane, permisiuni, căutare, arhive și actualizări.
Cum înregistrezi un tip de conținut
Un CPT poate fi înregistrat într-un plugin dedicat funcționalității sau într-un plugin propriu al proiectului. Este de preferat să nu depinzi exclusiv de fișierul functions.php al unei teme care poate fi schimbată. Dacă tipul de conținut este important pentru datele site-ului, păstrează-l într-un plugin astfel încât conținutul să rămână disponibil și după schimbarea temei.
Un exemplu simplificat de înregistrare este:
add_action( 'init', function () {
register_post_type( 'proiect', array(
'labels' => array(
'name' => 'Proiecte',
'singular_name' => 'Proiect',
),
'public' => true,
'has_archive' => true,
'show_in_rest' => true,
'menu_icon' => 'dashicons-portfolio',
'supports' => array(
'title',
'editor',
'thumbnail',
'excerpt',
),
'rewrite' => array(
'slug' => 'proiecte',
),
) );
} );
Codul creează un tip numit „Proiecte”, îl face public, activează arhiva, permite utilizarea editorului de blocuri prin show_in_rest și activează imaginea reprezentativă. Într-un proiect real trebuie analizate și permisiunile, traducerile, regulile de rescriere și compatibilitatea cu pluginurile instalate.
Taxonomii și câmpuri personalizate
Un CPT poate avea taxonomii proprii. Pentru proiecte, de exemplu, poți crea „Domenii” sau „Tipuri de proiect”. Taxonomiile permit filtrarea și gruparea înregistrărilor fără să transformi fiecare caracteristică într-un câmp text separat.
Câmpurile personalizate sunt utile pentru date structurate: buget, durată, client, locație sau link către proiectul publicat. Alege tipurile de câmpuri în funcție de datele reale și validează valorile introduse. Evită să stochezi aceeași informație în mai multe locuri, deoarece actualizarea devine dificilă.
URL-uri, arhive și SEO
Înainte de lansare, stabilește un slug clar și verifică structura adreselor. Dacă activezi o arhivă, pregătește o pagină care explică tipul de conținut și oferă navigare către elementele individuale. Asigură-te că fiecare înregistrare are titlu relevant, descriere unică și imagine potrivită.
După schimbarea regulilor de rescriere, verifică legăturile permanente și regenerează regulile dacă este necesar. Testează atât pagina individuală, cât și arhiva și filtrele. Pentru magazine online, separă structura produselor WooCommerce de CPT-urile create pentru conținut editorial. Poți citi și articolul despre organizarea atributelor și variațiilor WooCommerce.
Documentația oficială WordPress oferă detalii despre înregistrarea tipurilor de conținut personalizate. Pentru administrarea tehnică a unui site, vezi și materialul despre Terminalul din cPanel și comenzile WordPress.
Greșeli de evitat
- Înregistrarea CPT-ului direct într-o temă care poate fi schimbată.
- Folosirea unor slug-uri neclare sau prea lungi.
- Omiterea suportului pentru editorul REST când este necesar Gutenberg.
- Crearea unui CPT pentru conținut care ar putea fi organizat simplu prin categorii.
- Ignorarea arhivelor, permisiunilor și regulilor SEO.
Concluzie
Custom Post Types extind WordPress și permit organizarea conținutului în funcție de nevoile reale ale unui proiect. Alege un CPT atunci când ai elemente repetitive, câmpuri comune și o administrare distinctă. Planifică din timp taxonomiile, URL-urile, permisiunile și șabloanele, iar structura site-ului va rămâne mai ușor de întreținut.

