In un precedente articolo abbiamo visto come creare e configurare i Custom Post Type in WordPress, per gestire contenuti specifici. Oggi vediamo come visualizzarli nel vostro sito Wordpress.
Tenete conto che un tipo di post personalizzato come questo può essere trattato come qualsiasi altro post di WordPress. In particolare potrete usare un file all’interno del tema con lo stesso funzionamento di single.php, ma che avrà come nome single-type.php dove type è il nome del vostro custom post type (per il nostro esempio avremo quindi single-news.php).
L’uso più comune che farete dei custom post type è però attraverso query personalizzate all’interno dei vari files contenuti nei temi (ad esempio sidebar.php o footer.php).
Per continuare il nostro esempio apriamo index.php del vostro tema ed andiamo inserire in homepage la lista delle ultime 4 news all’interno di un box.
<div> <h4>News</h4> <?php $my_query = new WP_Query(array('post_type'=>'news','showposts'=>4)); ?> <ul> <?php while ($my_query->have_posts()) : $my_query->the_post(); ?> <li> <span class="date"><?php the_time('j F Y') ?></span> <?php the_content(); ?> </li> <?php endwhile; ?> </ul> </div>
Grazie al codice visto e con gli opportuni stili Css e un po’ di Javascript potrete raggiungere un risultato simile a quello che vedete nella homepage di Alt Design Web Agency.
Conclusioni
Grazie a questo breve tutorial sarete in grado di realizzare con facilità i vostri Custom Post Type e un visualizzatore di brevi news per la vostra homepage.
L’uso dei custom fields all’interno di questi nuovi tipi di post vi permetterà di modellare qualsiasi tipo informazione che vorrete visualizzare nei vostri siti web realizzati con WordPress e sarà oggetto di un prossimo tutorial.
L’esempio classico è quello della collezione di CD, in cui create un nuovo post type “cd†e vi inserite, oltre al titolo e alla descrizione (editor TinyMce) come visto nel tutorial, anche: prezzo, casa discografica, tipo di musica e nome dell’artista/i.
Per chi non fosse familiare con la programmazione php, e in generale per WordPress, segnalo (non l’abbiamo provato) il plugin Custom Post UI che permette di creare nuovi custom post type in maniera del tutto visuale.
Questo Guest Post è stato scritto da Alt Design, una web agency specializzata nella realizzazione di siti web basati su WordPress. Potete seguirli nel loro blog dove discutono di Internet Marketing.
Ben fatto. Come la prima parte.
Appena posso provo anche il plugin. 😉
Ottimo articolo, ho recentemente utilizzato un plugin per creare custom post con relativi campi personalizzati e tag…
I problemi sono nella parte pubblica: i campi personalizzati riesco a renderli visibili nell’articolo ma non ho idea di come visualizzare i tag. Quelli dei post “normali” vengono visualizzati alla fine del tema, quelli dei custom post no.
Ho cercato da tutte le parti una soluzione ma sto diventando scemo 😀
Veramente ben fatto e una bella novità di wordpress con la versione 3.
salve
un utilissimo post
ho seguito tutte le istruzioni con l’aggiunta di:
function news_taxonomy() {
register_taxonomy(
‘news_review’,
‘news’,
array(
‘hierarchical’ => true,
‘label’ => ‘Categoria news’,
‘query_var’ => true,
‘rewrite’ => array(‘slug’ => ‘news-reviews’)
)
);
}
add_action( ‘init’, ‘news_taxonomy’ );
questo mi ha prodotto nell’area di amministrazione il nuovo menu:
NEWS
news
aggiungi nuova
categoria news
ma ho un problema nel visualizzare le news:
in pratica ho suddiviso 6 news in 3 categorie diverse, due per ognuna
con questo codice:
$my_query = new WP_Query(array(‘post_type’=>’news’,’showposts’=>10));
visualizzo tutte le news, ma se volessi visualizzare solo le news nella seconda categoria qual’è il codice da usare?
è possibile farlo?
grazie per l’aiuto
antonio
prova ad aggiungere all’array con i parametri ‘category_name’ => ‘nome della categoria da mostrare’
forse questa pagina ti può essere d’aiuto: http://codex.wordpress.org/Function_Reference/query_posts#All_Posts_in_a_Category
ti ringrazio, avevo già provato con category_name ma non funziona, appena avrò risolto te lo farò sapere.
grazie comunque
Ciao, articoli interessanti, anche io mi sto imbattendo in questi giorni nei custom post type, quello che vorrei sapere è se è possibile associare ad un custom post type dei post
grazie
Ciao e complimenti per gli articoli di supporto a tutti i maniaci di wordpress.
Ho un piccolo problema che non riseco a risolvere e mi sembra piuttosto banale.
Usando questa query
$args = array( ‘post_type’ => ‘eventi’, ‘posts_per_page’ => 10,’paged’ => $paged );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
non visualizzo solo i post del post-type eventi ma anche gli altri post “normali”.
Ho provato anche altre diverse query ma evidentemente c’è qualcosa che sbaglio.
Grazie a chi si prenderà la briga di rispondermi