Tipurile de postări personalizate sunt noi tipuri de postări care pot fi create. Un tip de postare personalizată poate fi adăugat la WordPress prin funcția register_post_type(). Această funcție vă permite să definiți un nou tip de postare prin etichetele sale, caracteristici suportate, disponibilitate și alte detalii specifice.
Rețineți că trebuie să apelaţi register_post_type () înainte de hook-urile de acţiune admin_menu și after_setup_theme. Un hook bun de utilizat este init.
Iată un exemplu de bază de adăugare a unui tipde postare personalizată:
[php] add_action( ‘init’, ‘create_post_type’ );function create_post_type() {
register_post_type( ‘acme_produs’,
array(
‘labels’ => array(
‘name’ => __( ‘Produse’ ),
‘singular_name’ => __( ‘Produs’ )
),
‘public’ => true,
‘has_archive’ => true,
)
);
}
[/php]
Acest cod creează un tip de postare numită Produs identificat ca acme_produs. Funcţia register_post_type () primește două argumente majore. Primul dintre ele este labels care defineşte numele tipului de postare în ambele forme de plural și singular. Al doilea este public, care este un steag predefinit pentru a afișa tipul de postare pe ecranele de administrare și să o arate în conținutul site-ului în sine, dacă se face o interogare pentru ea.
Există mult mai multe argumente pe care le puteți include în funcția register_post_type (), pentru diverse motive precum crearea unei ierarhii (să se comporte ca pagini), pentru a afişa noul tip de postare în căutări, a schimba adresele URL ale noilor postări, și a ascunde sau a afișa meta box din ecranul de editare a postărilor. Acești parametri sunt opționali, și îi puteți folosi pentru a configura tipul de postare pe un nivel detaliat.
Pagina Arhiva
Pentru ca indexul sau pagina arhivă să fie accesibile (la /acme-produs în exemplul de mai sus), va trebui să actualizați („flush”) structura legăturilor permanente.
Tipurile de postare personalizată ca modul
Pentru a evita ruperea un site la comutarea temei, încercați să definiţi tipurile de postare personalizată ca un modul, sau ca un must-use modul. În acest fel nu veţi forța utilizatorii să folosească o anumită temă.
Lasă un răspuns