2. Chi sono
• Enrico Corinti, 34 anni, Ascoli Piceno
• Web Developer/Wordpress Fan
• http://www.webeing.net/code
• @enricocorinti
lunedì 21 marzo 2011
3. Argomenti
• Make it Custom!
• Custom Post Types
• Custom Write Panels
• Custom Taxonomies
• Let it Views!
• Custom Templating
• Post Formats (Hot! 3.1)
• Un esempio: Slides - Autori (#kc2011)
lunedì 21 marzo 2011
4. Wordpress Custom is
better!
• Completa separazione di concetti e contenuti
• Write Panels differenziati e customizzati per la
gestione di contenuti differenti
• Valore semantico al contenuto
• Completa separazione dei templates e views
• Custom Permalinks
• Wordpress per blogger o Wordpress come CMS?
lunedì 21 marzo 2011
6. Make it custom!
Post Types (CPT)
• Contenuto: aggregazione di informazioni
multimediali necessarie a descrivere ad un
dato
lunedì 21 marzo 2011
7. Make it custom!
Post Types (CPT)
• Post • Books
• Pages • Authors
• Attachment (media) • Products
• Revisions • Video
• Nav Menus (WP 3.x) • Events
• [Links] • ...
lunedì 21 marzo 2011
8. Make it custom!
Write Panels
• Excerpt
• Book Author
• Custom Fields
• Address
• Discussion
• Email
• Author
• Price
• Revisions
• ...
• ...
lunedì 21 marzo 2011
9. Make it custom!
Taxonomies
• Tassonomia: classificazione gerarchica di
concetti (o dati) necessaria a stabilire un
ordine nella catalogazione degli stessi.
• Utile per categorizzare molteplici
informazioni e classificare i contenuti in un
CMS, ad esempio per conferire un ordine di
lettura strutturato
lunedì 21 marzo 2011
10. Make it custom!
Taxonomies
• Book Genre
• Categories
• Product Versions
• Tags
• Document type
• Link Categories
• ...
lunedì 21 marzo 2011
11. Make it custom!
Formats (3.1)
• Categorizzare la • Aside
rappresentazioni dei
post • Gallery
• Customizzare i • Link
• Audio
templates • Image
• Chat
• Miscuglio di concetti • Quote
e confusione nella
creazione dei • Status
contenuti • Video
lunedì 21 marzo 2011
12. Andiamo nel pratico
http://wordcamp.essereweb.net
User: guest
Passwd: guest
lunedì 21 marzo 2011
13. Register Post Type
add_action('init', 'create_wc11_slides_type');
function create_wc11_slides_type() {
register_post_type( 'wc11_slides',
'public' => true,
'has_archive' => true,
);
}
lunedì 21 marzo 2011
14. Register Post Type -
Altri parametri
• Labels
• Supports (Write Panels)
• Rewrite
• Taxonomies
• ...
http://codex.wordpress.org/Function_Reference/
register_post_type
lunedì 21 marzo 2011
15. Add Meta Boxes
//Preparo il mio box
function wc11_author_info_box() {
//... elementi HTML del box
}
lunedì 21 marzo 2011
16. Add Meta Boxes
//Aggiungiamo il box
function create_wc11_author_info_box() {
add_meta_box(
'wc11_author_box_id',
‘Dati Autore’,
'wc11_author_info_box',
'wc11_authors' );
}
lunedì 21 marzo 2011
17. Add Meta Boxes
//Preparo le azioni da fare al salvataggio
function save_postdata( $post_id ) {
//...operazioni da fare al salvataggio
}
lunedì 21 marzo 2011
18. Add Meta Boxes
//Hook Actions in Wordpress
// WP 3.0+
add_action('add_meta_boxes','wc11_author_info_box');
// backwards compatible
add_action('admin_init', 'wc11_author_info_box', 1);
/* Do something with the data entered */
add_action('save_post', 'save_postdata');
lunedì 21 marzo 2011
19. Register Taxonomy
//Registro la mia nuova tassonomia
function create_wc11_slide_taxonomies()
{
register_taxonomy('wc11_topic_areas','wc11_slides’,
array(
'query_var' => true,
'rewrite' => array( 'slug' => 'slides' )
));
}
//hook into the init action
add_action('init',’create_wc11_slide_taxonomies',
0 );
lunedì 21 marzo 2011
24. Template Functions
<?php
//Elenco dei CPT
get_post_types( $args, $output, $operator );
//Tipo di contenuto associato al post
get_post_type($post->ID);
//Conditional Function for archives
is_post_type_archive( $post_types );
lunedì 21 marzo 2011
26. Template Functions
<?php
//Array - Elenco completo
$terms = get_terms( $taxonomies, $args );
foreach ( $terms as $term ) { … }
//Elenco di link filtrato per
IDget_the_term_list( $id , $taxonomy );
//Array filtrato per ID
$terms = get_the_terms( $id , $taxonomy );
foreach ( $terms as $term ) { … }
?>
lunedì 21 marzo 2011
27. Post Formats
• Meta-informazioni aggiuntive associate
al post
• Un nuovo modo per semplificare e
diversificare la presentazione dei
contenuti
• Un modo alternativo alle tassonomie
per presentare lo stesso contenuto in
modi differenti
lunedì 21 marzo 2011
28. Post Formats
//Add theme capability to manage formats
add_theme_support( 'post-formats', array( 'aside',
'gallery' ) );
//Check formats
if ( has_post_format( 'aside' )) {
//Faccio qualcosa per lo “stile” Aside
}
//Built-in “post_class()” add a “format-aside” class
to our theme classes
<div id="post-<?php the_ID(); ?>" <?php post_class
(); ?>>
lunedì 21 marzo 2011
29. Take it easy... Plugins
• More...
• Fields,
• Types,
• Taxonomies
• Custom UI
• WP Post Formats
lunedì 21 marzo 2011