Personalizzare WordPress con i Custom Post. 2a Parte: modificare il tema

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.

9 commenti:

  1. 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 😀

  2. 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

      1. ti ringrazio, avevo già provato con category_name ma non funziona, appena avrò risolto te lo farò sapere.
        grazie comunque

  3. 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

  4. 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

Rispondi