Caputo's blog

Informatica, tecnologia, programmazione, fai da te, papercraft e papertoy

Semplice guida ai post custom di WordPress

ottobre 12th, 2010 by Giovanni Caputo

Per creare un post personalizzato, inserire all’interno del file functions.php del proprio tema il seguente codice.

add_action( 'init', 'create_events' );
function create_events() {
  $labels = array(
    'name' => _x('Events', 'post type general name'),
    'singular_name' => _x('Event', 'post type singular name'),
    'add_new' => _x('Add New', 'Event'),
    'add_new_item' => __('Add New Event'),
    'edit_item' => __('Edit Event'),
    'new_item' => __('New Event'),
    'view_item' => __('View Event'),
    'search_items' => __('Search Events'),
    'not_found' =>  __('No Events found'),
    'not_found_in_trash' => __('No Events found in Trash'),
    'parent_item_colon' => ''
  );

  $supports = array('title', 'editor', 'custom-fields', 'revisions', 'excerpt');

  register_post_type( 'event',array(
      'labels' => $labels,
      'public' => true,
      'supports' => $supports
    )
  );
}

In particolare

  • add_action permette a WordPress di chiamare la funzione create_events() quando WordPress è inizializzato
  • Il vettore $labels indica come mostrare i messagi relativi al tipo di post personalizzato
  • Il vettore $supports indica quali funzionalità supporta il post personalizzato ( per esempio pemette la funzione excerpt)
  • register_post_type registra la nuova tipologia di post su WordPress
  • La funzione register_post_type è personalizzabile con differenti opzioni, è possibile vederle sul sito ufficiale: WordPress Codex.

Generalmente il motivo per cui vogliamo creare dei post type personalizzati è perchè vogliamo dare un look differente a questi nuovi post.

WordPress fornisce dei buoni meccaniscmi per personalizzare il look. Se avete già lavorato precedentemente con Wordpre avrete notato che i singoli post vengono visualizzati con la pagina single.php del proprio tema. WordPress 3.0 permette di aggiungere un file single-[nome_post_personalizzato].php per sovrascrivere come il post personalizzato deve essere mostrato.

Si consigli di iniziare la personalizzazione copiando il codice del file single.php all’interno del nuovo file creato.

Invece se vogliamo avere una pagina con un elenco di post di un certo tipo dobbiamo affidarci ai famosi Page Template. Cioè partire dal file page.php del proprio tema creandone uno simile, page-events.php.

Aggiungere all’inizio del file page-events.php il seguente commento:

<?php
/**
 * Template Name: Events Template
 * @package WordPress
 * @subpackage Twenty_Ten
 * @since Twenty Ten 1.0
 */

get_header(); ?>

Successivamente personalizzare la funzione all’interno dell loop con qualcosa del genere:

<?php query_posts(array('post_type'=>'event')); ?>

I loop si riconoscon da un codice simile al segente:

<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>

Questo post è stato postato martedì, ottobre 12th, 2010 at 22:14 nella categoria Programmazione, Siti Web, Tecnologia. Tags:, , .
Puoi seguire tutti i commenti di questo articolo attraverso RSS 2.0 feed. Puoi lasciare un commento, o trackback dal nostro sito.

Lascia un commento

You must be loggati to post a comment.