Jaz to delam v templatu. V functions.php kreiram nov tip vsebine, mu dodam polja in kategorizacije. Vse to laho dodajaš tudi obstoječim tipom vsebin (post, page). Potem pa prikažem tam kjer želim...
Torej recimo če želimo naredit nov tip vsebine npr. "dogodek"
functions.php:
registerposttype( 'dogodek',
array(
'labels' => array(
'name' => _( 'Dogodki' ),
'singularname' => _( 'dogodek' )
),
'public' => true,
'hasarchive' => true,
'rewrite' => array('slug' => 'dogodek'),
)
);
Temu je seveda določiti tudi potrebna polja. (npr. datum dogodka,...)
Potem narediš nov template za
single-dogodek.php in archive-dogodek.php.
array vseh custom polj dobiš z getpostcustom();
Recimo enostavni primer prikaza datuma pri dogodku v template fajlu bi bil tole:
$datum = getpostmeta($post->ID, 'datum_dogodka', true);
$lepdatum = date("j. n. Y ", strtotime($datum)); //oblikujemo lep prikaz datuma
echo $lepdatum;
Obstajajo seveda ekstenzije za to. Te ti to olajšajo. Jaz osebno sicer prisegam na old scool pristop. vse skupaj dela hitreje.
Primer wordpressa s custom tipi vsebin lahko vidiš tu:
zofijini.net