Cum să adaug obiecte/entități personalizate în WordPress
(Am ceva experiență în crearea de teme WordPress dar nu am experiență în extinderea funcționalităților WordPress. Sunt sigur că aceasta este o întrebare comună, dar nu știu cum să caut răspunsul. Tot ce am găsit este cum să creez elemente de meniu personalizate.)
Cum pot crea tipuri de obiecte/entități personalizate în baza de date, precum:
- Membri ai echipei, adică o intrare pentru fiecare membru al companiei
- Proiecte de referință, adică o intrare pentru fiecare proiect realizat de companie
În panoul de administrare, arată astfel:
Pentru fiecare tip de obiect, vreau să definesc ce proprietăți au (titlu, nume, descriere, note, imagine 1, imagine 2).
Cum pot face acest lucru? Ce cuvinte cheie ar trebui să caut?

Cred că ceea ce dorești să faci este să creezi ceea ce WordPress numește "Tipuri Personalizate de Postări". Te rog să consulți pagina Tipuri de Postări din Codex care explică ce sunt Tipurile de Postări și cum să creezi unele personalizate.
Pe scurt, iată codul pentru a crea tipul personalizat de postare Object:
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'object',
array(
'labels' => array(
'name' => __( 'Obiecte' ), // Nume plural afișat în interfața de administrare
'singular_name' => __( 'Obiect' ) // Nume singular afișat în interfața de administrare
),
'public' => true, // Face tipul de postare vizibil pentru vizitatori și în interfața de administrare
'has_archive' => true, // Activează arhiva pentru acest tip de postare
)
);
}
O observație: în captura de ecran, versiunea de WordPress pare foarte veche (3.3 sau similar). Te rugăm să faci upgrade la cea mai recentă versiune pentru a beneficia de noile funcționalități.

Mulțumesc pentru sugestie. Unde trebuie să introduc acest cod? Plugin-uri precum ACF și Custom Post Type UI fac același lucru?

Poți introduce acest cod fie într-un plugin, fie în functions.php
al temei tale. Și da, alte plugin-uri folosesc acest cod cu multe elemente în jur pentru a avea toate opțiunile disponibile în interfața de backend.

@FabienQuatravaux: Nu recomand să pui această funcționalitate în functions.php
deoarece legi funcția de afișare. Chiar vrei să pierzi entitatea ta personalizată dacă schimbi tema pentru că vrei ca site-ul tău să arate diferit? Sau să fii nevoit să o copiezi în fiecare temă pe care o folosești?
