Custom post type: come creare i post personalizzati in WordPress

Autore: Gabriele Bellucci
Categorie: Wordpress
Nessun commento
← Torna al Blog

Custom post type: come creare i post personalizzati in WordPress

custom post type wordpress

Un modo semplice per utilizzare i Custom post type all’interno di un tema WordPress

Inserire un custom post type in WordPress può risultare davero utile se intendiamo ad esempio inserire una pagina portfolio all’interno del nostro tema.

1. Dichiarazione dei custom post type all’interno del file functions.php

Il primo passo da compiere è inserire la dicharazione del nostro custom post type all’interno del file functions.php. Per fare questo utilizziamo la funzione register_post_type.

function portfolio_custom_post_type_init()
{
      $labels = array (
	'menu_name'=>'Portfolio', // nome nel menu di amministrazione
	'singular_name'=>'Lavoro' // nome per questo tipo di post al singolare
	'all_items' =>'Tutti i lavori del Portfolio' //nome di tutti gli elementi mostrato nel menu
        'add_new_item'=>'Aggiungi nuovo lavoro' // nome visualizzato quando intendiamo aggiungere un nuovo post
        'edit_item'=>'Modifica lavoro' // nome visualizzato nella modifica 
         'new_item' => 'Nuovo lavoro' //visualizzato quando vogliamo aggiungere un nuovo post 
         'view_item' =>'Visualizza Lavoro' // link al post quando intendiamo vedere il lavoro dal back end
        'search_items' =>'Cerca lavori' // nome visualizzato per la ricerca
        'not_found' => 'Nessun lavoro trovato' // testo da visualizzare quando la ricerca non effetua nessun risultato
        'not_found_in_trash'=>'Nessun lavoro trovato nel cestino' // nessun risultato di ricerca nel cestino
        );
 
       $args = array (
       'labels'=>$labels, // la formattazione che abbiamo impostato nell'array precedente
        'public'=>true // rende il tipo di post disponibile sia nel back end che nel front end
        'exclude_from_search' => true // determina se i post non sono ricercabili tramite il widget di ricerca di wordpress
        'publicly_queryable'=>true // se settato a false rende i post illeggibili dal front end resituendo un errore 404
        'show_ui'=>true // determina se mostrare l'interfaccia di gestione per questo tipo di post nel back end
        'supports'=> array ('title','thumbnail','editor','excerpt') // quello che può essere aggiunto attraverso il back end
);
 
register_post_type('portfolio',$args);
}
 
add_action('init','portfolio_custom_post_type_init');

2. Utilizzo del custom post type

Una volta inserito questo codice all’interno del file functions.php, sarà sufficiente andare nel back end di WordPress per trovare un menu apposito per inserire e gestire questo tipo di post. Ma come possiamo recuperare questo tipo di post all’interno di una pagina portfolio?

Per fare questo dobbiamo creare un Template apposito per una pagina portfolio, che andrà inserita nel nostro tema. La pagina potrà essere salvata come portfolio.php ed inserita nella root del tema.

<?php 
 /*
 
 Template Name: Portfolio
 */
 
<?php get_header();?>
 
<div id="portfolio-container">
<?php 
    $args = array ('post_type'=>'portfolio','posts_per_page'=>9999999);
 
    $query_portfolio = new WP_Query($args); // la classe WP_Query ci permette di creare loop personalizzati per Wordpress senza intaccare il normale loop per tutti gli articoli e le pagine
 
   while ( $query_portfolio->have_posts() ) : $query_portfolio->the_post();
?>
 
   <div class="portfolio-item">
      <h3><?php echo the_title();?></h3>
       <?php 
 
        if( has_post_thumbnail() )
        {
          the_post_thumbnail('thumbnail');
        }
        ?>
       <div class="portfolio-text">
 
          <?php the_content();?>
 
       </div>
    </div> <!-- /portfolio item -->
<?php endwhile;?>
</div> <!-- /portfolio-container-->
 
<?php get_footer();?>
?>

3. Conclusioni

Questo è solo un esempio minimo sulla registrazione dei custom post type, per la formattazione di elementi particolari (come i lavori di un portfolio) che possiamo utilizzare all’interno di un tema. Se l’articolo ti è piaciuto metti un like alla mia pagina su Facebook, cosi potrai rimanere aggiornato sui miei prossimi mini tutorial.



Nessun commento

Lascia il tuo commento

I campi contrassegnati con asterisco sono obbligatori.

*