Custom Post Type in WordPress
565 visiteCustom Post Type
Un custom post type di wordpress è un post type “personalizzato” ma cosè un post type ?
E’ un tipo di dato gestito da wordpress ed è composto da custom fields e/o da tassonomie. Quando installiamo wordpress ce ne sono alcuni predefiniti che sono i seguenti:
- Post: è il tipo di dato principale composto da titolo, descrizione, la tassonomia Category e Tag.
- Page: è un tipo di dato simile al post, ma non gode di quella proprietà temporale che permette ad i posts di essere visualizzati in ordine cronologico inverso. Le pagine possono utilizzare diversi template per essere visualizzate, possono essere organizzate in una struttura gerarchica.
- Attachment: è un post speciale che contiene informazioni su un file caricato tramite WP, ad esempio la descrizione e il nome.
- Revision: contiene la bozza di un post (la cosiddetta “draft”) ed eventuali revisioni.
- Navigation Menu: è un dato che contiene informazioni sul menu di navigazione.
Vediamo come creare un custom post type per esempio “Libro”:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
add_action( 'init', 'crea_book' ); function crea_book() { register_post_type( 'book', array( 'labels' => array( 'name' => __( 'Libro' ), 'singular_name' => __( 'Libro' ) ), 'public' => true, 'has_archive' => true, 'supports' => array('title', 'editor', 'excerpt') ) ); } |
Per creare un Loop basta eseguire il seguente codice:
1 2 3 4 5 6 7 8 |
$args = array( 'post_type' => 'book', 'posts_per_page' => 10 ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); the_title(); echo '<div class="entry-content">'; the_content(); echo '</div>'; endwhile; |
Per creare i file template relativi al nostro nuovo post type dobbiamo usare i seguenti files:
– single-book.php
– archive-book.php
e cosi via.